在将来的特定时间在iOS中运行后台任务

在将来的特定时间在iOS中运行后台任务,ios,apple-push-notifications,background-process,Ios,Apple Push Notifications,Background Process,有没有一种方法可以让iOS 7中的后台任务(如切换位置服务的使用)在特定时间点(如明天早上)运行,而无需用户打开应用程序,或者无需持续运行后台进程 我知道的唯一选择是在所需的时间向设备发送推送通知,但有人知道任何纯在设备上的替代方法吗?任何纯在设备上的方法-不幸的是,到目前为止-2014年没有这种方法后台任务执行是一件好事,但它是基于推送的 因此,当应用程序被暂停时,它不能做任何事情来直接唤醒自己。它以前不能安排一个NSTimer,也不能使用类似performSelector:afterDela

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


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

任何纯在设备上的方法
-不幸的是,到目前为止-2014年没有这种方法<如果iOS 7中出现内容可用的话,代码>后台任务执行是一件好事,但它是基于推送的 因此,当应用程序被暂停时,它不能做任何事情来直接唤醒自己。它以前不能安排一个
NSTimer
,也不能使用类似
performSelector:afterDelay
等的东西。
应用程序可以再次激活的唯一方法是,如果
用户自己
做了一些事情使其激活,例如收到本地通知并弹出警报。只有当应用程序具有后台模式时,才允许在后台模式下长时间执行应用程序,这些模式包括:voip、音频、位置、新闻等等。注意:从iOS 9开始,
kCFStreamNetworkServiceTypeVoIP
现在已被弃用,VoIP应用程序应改用PushKit(VoIP高优先级推送通知)。即使有这些类型中的一种,应用程序也无法在没有某些限制的情况下执行其代码。你可以在文件里读到。所以我们必须接受这种现状。可能在将来的某个时候,苹果的工程师们会进行真正的多任务处理,或者至少会在收到本地通知时执行后台任务,或者为所有安装的应用程序执行一些全局后台任务调度程序。但我不相信这一点,因为第三方进程的有限后台执行是iOS调度器的核心设计,iOS调度器是CMU Mach 3调度器的改进版本

谢谢!这几乎证实了我的直觉,它是如何工作的,或者不工作。希望我们能在iOS 8中对此有所收获:)同样的问题仍然没有解决方案??