iOS应用程序在后台运行
我试图能够设置我的应用程序将保持在后台多久。 我希望能够控制我的应用程序在后台保持活动状态的时间,直到closures。 有什么我可以添加到Info.plist,可以设置,与开关的布尔,让它在后台运行?
我已经阅读并发现,苹果公司不会让应用程序在后台停留时间超过10分钟,但我已经做了一些testing,发现了类似于我的其他实时应用程序,持续时间超过了10分钟。 我还发现,在10分钟之前设置和重置定时器可以绕过这个旧post,这是否仍然适用于iOS7,苹果是否仍然接受?
编辑:误解了问题。 这是一个可能的select。
- (void)applicationDidEnterBackground:(UIApplication *)application { UIApplication * app = [UIApplication sharedApplication]; task = [app beginBackgroundTaskWithExpirationHandler:^ { [app endBackgroundTask:task]; task = UIBackgroundTaskInvalid; }]; //开始长时间运行的任务并立即返回。 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^ { //完成与任务相关的工作。 NSLog(@“已启动的后台任务时间=%f”,[app backgroundTimeRemaining]); //节省时间到NSUserdefaults [NSUserdefaults standardUserDefaults] setObject:[NSDate date] objectForKey @“startDate”]; [app endBackgroundTask:task]; task = UIBackgroundTaskInvalid; }); } - (void)applicationWillTerminate:(UIApplication *)application { [NSUserdefaults standardUserDefaults] setObject:[NSDate date] objectForKey @“terminateDate”]; } - (无效)的applicationDidFinishLaunching:(UIApplication的)应用程序{ //获取开始时间和终止时间,然后采取差异 NSDate * temporaryDate1 =(NSDate *)[userDefaults objectForKey:@“startDate”]; NSDate * temporaryDate2 =(NSDate *)[userDefaults objectForKey:@“terminateDate”]; 比较[temporaryDate1,temporaryDate2]; }
这里是检查如何比较NSDate实例的链接 。