2013-10-08 83 views
0

我想能夠設置我的應用程序將保持多長時間在後臺運行。我希望能夠控制我的應用在關閉後能保持活動狀態的時間。有什麼我可以添加到Info.plist中,可以設置,使用開關的布爾讓它在後臺運行或不?iOS應用程序在後臺

我已閱讀並發現,蘋果不會讓應用程序在後臺繼續超過10分鐘時間,但我已經做了一些測試,發現其他活的應用程序,都與我相似,持續時間超過10分鐘。我還發現,在10分鐘之前設置和重置定時器可以繞過這個舊帖子,這是否仍然適用於iOS7,蘋果是否仍然接受它?

回答

3

編輯:誤解了問題。這是一個可能的選擇。

 
- (void)applicationDidEnterBackground:(UIApplication *)application{ 
     UIApplication* app = [UIApplication sharedApplication]; 
     task = [app beginBackgroundTaskWithExpirationHandler:^{ 
     [app endBackgroundTask:task]; 
     task = UIBackgroundTaskInvalid; 
    }]; 
    // Start the long-running task and return immediately. 
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

     // Do the work associated with the task. 
     NSLog(@"Started background task timeremaining = %f", [app backgroundTimeRemaining]); 
     // save time to NSUserdefaults 
     [[NSUserdefaults standardUserDefaults] setObject:[NSDate date] [email protected]"startDate"]; 

     [app endBackgroundTask:task]; 
     task = UIBackgroundTaskInvalid; 
    }); 

} 

- (void)applicationWillTerminate:(UIApplication *)application{ 
    [[NSUserdefaults standardUserDefaults] setObject:[NSDate date] [email protected]"terminateDate"]; 
} 

-(void)applicationDidFinishLaunching:(UIApplication)application{ 
    //get start time & terminate time & then take a diffrence 
    NSDate* temporaryDate1 = (NSDate*)[userDefaults objectForKey:@"startDate"]; 
    NSDate* temporaryDate2 = (NSDate*)[userDefaults objectForKey:@"terminateDate"]; 
    compare[temporaryDate1,temporaryDate2]; 
} 

這是一個link來檢查如何比較NSDate實例。

+0

他希望能夠設置應用程序在後臺運行的時候,沒怎麼檢查它的時間長短的背景。 – JonahGabriel

+0

@ Jonah.at.GoDaddy檢查我的更新答案 –

+0

看起來不錯,但這並保持應用從在後臺,以及在10分鐘後,被關停?或者這不再發生? – user2551731

相關問題