gpt4 book ai didi

ios - 在未来的特定时间在 iOS 中运行后台任务

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:47:19 26 4
gpt4 key购买 nike

有没有办法在 iOS 7 中连接后台任务(例如切换位置服务的使用)以在特定时间点(例如明天早上)运行,而无需用户打开应用程序,或者无需持续运行后台进程?

我知道的唯一选择是在需要的时间向设备发送推送通知,但有人知道这方面的任何纯粹的设备替代方案吗?

最佳答案

任何纯粹在设备上 - 不幸的是直到现在 - 2014 年还没有这样的方式。 Background task execution if content avaliable 出现在 iOS 7 中是一件好事,但它是基于推送的。

因此,当应用程序暂停时,它无法任何事情 来直接唤醒自己。它之前不能安排一个 NSTimer,它不能使用诸如 performSelector:afterDelay 之类的东西等等。 ONLY 应用可以再次激活的方式是 USER HIMSELF 执行某些操作使其激活,例如收到本地通知并弹出警报。只有当应用程序具有后台模式时,才允许在后台模式下长时间执行应用程序,这些模式是:voip、音频、位置、newstand。注意:从 iOS 9 开始,kCFStreamNetworkServiceTypeVoIP 现已弃用,VoIP 应用程序应改用 PushKit(VoIP 高优先级推送通知)。即使它具有这些类型之一,应用程序也无法不受限制地执行其代码。你可以在文档中阅读它。所以我们必须接受这种情况。可能在未来的某个时候,Apple 工程师会进行真正的多任务处理,或者至少在收到本地通知时执行后台任务,或者为所有已安装的应用程序执行一些全局后台任务调度程序。但我不相信这一点,因为限制第 3 方进程的后台执行是 iOS 调度程序的核心设计,它是 CMU Mach 3 调度程序的修改版本。

关于ios - 在未来的特定时间在 iOS 中运行后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19846815/

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