美文网首页
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