即使backgroundTimeRemaining为零,代码仍然在后台运行?

时间:2014-02-25 01:17:21

标签: ios iphone xcode5

        UIApplication *application = [UIApplication sharedApplication];

        UIBackgroundTaskIdentifier background_task = 0;

        background_task = [application beginBackgroundTaskWithExpirationHandler: ^{

            [application endBackgroundTask:background_task];
        }];

       SEL selector = NSSelectorFromString(action);
       timer = [NSTimer scheduledTimerWithTimeInterval:floatUpdateInterval target:self selector:selector userInfo:nil repeats:YES];

即使在backgroundTimeRemaining为0(零)之后,上述代码(计时器)仍在运行。 怎么会这样?上述类型的方法不是最多10分钟吗?

以上代码是否可以安全提交“app store”?

1 个答案:

答案 0 :(得分:0)

您正在创建一个计划重复的计时器。当时间到了,将调用beginBackgroundTaskWithExpirationHandler,这是你有机会阻止任何没有及时完成的​​事情。

您应该在beginBackgroundTaskWithExpirationHandler中使计时器无效。