这是情况:
我正在使用imagepicker选择一个大型视频.显然,选择器会花费一点时间来压缩视频.所以为了减轻用户体验,我已经启用了后台任务.
现在出现这个问题:
如果用户选择一个视频,然后点按主屏幕按钮,应用程序将进入后台,并在接下来的600秒内继续压缩视频.后台任务到期.在过期处理程序中,我已经停止了我的后台任务.
- (void)applicationDidBecomeActive:(UIApplication *)application
没有被援引.任何人都可以解释为什么会这样吗?
解决方法
@H_404_17@ 当后台任务到期时,您的应用程序将真的关闭!所以它不再活跃了,它正在启动.您应该处理过期处理程序中的内容,或/或后台任务成功结束时处理.在这两种情况下,您需要将background_task设置为invalidate.
如果您的应用程序在转换视频时进入后台,然后用户再次在任务结束或后台任务到期之前再次打开,则应该会看到应用程序调用applicationDidBecomeActive.