gpt4 book ai didi

ios - 如果后台任务过期则不调用 didBecomeActive

转载 作者:技术小花猫 更新时间:2023-10-29 10:40:08 24 4
gpt4 key购买 nike

情况是这样的:

我正在使用 imagepicker 选择一个大视频。显然,选择器将花费一些时间来压缩视频。因此,为了简化用户体验,我为其启用了后台任务。

问题来了:

如果用户选择一个视频并点击主页按钮,应用程序将进入后台并在接下来的 600 秒内继续压缩视频。并且后台任务到期。在过期处理程序中,我已经停止了我的后台任务。

现在如果用户在后台过期后恢复应用

- (void)applicationDidBecomeActive:(UIApplication *)application

未被调用。谁能解释我为什么会这样?

最佳答案

当后台任务到期时,你的应用程序将真正关闭!所以它不会再次活跃,它正在启动。

您应该在过期处理程序中或/以及当您的后台任务成功结束时处理内容。 这两种情况,都需要将background_task设置为invalidated

如果您的应用在转换视频时进入后台,然后用户在任务结束或后台任务到期之前再次打开它,那么您应该会看到应用调用 applicationDidBecomeActive。

我假设您知道这一点,但也许您缺少 Info.plist 文件中的多任务属性,因此您的应用没有按照您期望的方式接受后台任务。

关于ios - 如果后台任务过期则不调用 didBecomeActive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14136107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com