美文网首页
iOS Background Task 遇到的问题

iOS Background Task 遇到的问题

作者: 某非著名程序员 | 来源:发表于2020-04-27 19:06 被阅读0次

Background Task 这种方式,就是系统提供了 beginBackgroundTaskWithExpirationHandler 方法来延长后台执行时间,可以解决你退后台后还需要一些时间去处理一些任务的诉求。但在使用时碰到一些问题:

  1. 如果是debug调试状态,你会发现程序退到后台,任务会一直在执行。
    测试后台执行时间时,不能是调试状态。必须断开xcode
  2. beginBackgroundTaskWithExpirationHandler与endBackgroundTask是成对出现的。如果不成对出现,5s app会被杀掉。
  3. 正确写法:yourTask应该放在beginBackgroundTaskWithExpirationHandler前调用,而不是block块
    [self yourTaskWithApplication:application];
    self.backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
    [application endBackgroundTask:self.backgroundTaskIdentifier];
    self.backgroundTaskIdentifier = UIBackgroundTaskInvalid;
    }];
  4. 我们可以借助 控制台 来判断app是否还在执行,日志是否还在打印。

相关文章

网友评论

      本文标题:iOS Background Task 遇到的问题

      本文链接:https://www.haomeiwen.com/subject/cowywhtx.html