iphone - 后台运行的 iOS 应用程序

标签 iphone ios ios7 background-process info.plist

我正在尝试设置我的应用在后台保留的时间。我希望能够控制我的应用程序在关闭之前在后台保持事件状态的时间。有什么我可以添加到 Info.plist 的东西可以设置它,使用 bool 是让它在后台运行或不运行的开关吗?

我已经阅读并发现 Apple 不允许应用程序在后台停留超过 10 分钟,但我做了一些测试并发现其他与我类似的实时应用程序,持续时间超过 10 分钟。我还发现旧帖子通过在 10 分钟标记之前设置和重置计时器来绕过这个,这是否仍然适用于 iOS7,Apple 是否仍然接受它?

最佳答案

编辑:误解了问题。这是一个可能的替代方案。

- (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] objectForKey@"startDate"];

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

}

- (void)applicationWillTerminate:(UIApplication *)application{
    [[NSUserdefaults standardUserDefaults] setObject:[NSDate date] objectForKey@"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 实例。

关于iphone - 后台运行的 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19254156/

相关文章:

ios - 旋转时多次调用方法 collectionview(cellForItemAtIndexPath)

iphone - 在其他 View 中更改 UItabbaritem 的标题?

iOS 应用程序拒绝(订阅)元数据被拒绝

iphone - 以编程方式从 iPhone 应用程序访问设备音乐文件

ios - 想使用 UIPasteBoard 将 gif 粘贴到邮件窗口

ios - 带有@property 的简单类示例不允许属性检索

ios - 在应用程序终止后保留 PFUser 当前用户

audio - 我将在后台运行计时器多长时间?

iphone - 如何使用iPhone短信样式 View 创建邮件客户端?

iphone - 在 iOS 5 项目中放置 JSON 解析代码的合适位置在哪里?