編輯:誤解了問題。這是一個可能的選擇。
- (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實例。
他希望能夠設置應用程序在後臺運行的時候,沒怎麼檢查它的時間長短的背景。 – JonahGabriel
@ Jonah.at.GoDaddy檢查我的更新答案 –
看起來不錯,但這並保持應用從在後臺,以及在10分鐘後,被關停?或者這不再發生? – user2551731