我正在编写一个iOS应用程序,它使用Dropbox Datastore API在多个设备之间同步数据。
在Android上,我可以告诉服务在启动时启动,这使它能够同步设备关闭时可能发生的任何更改。
我无法找到一种明确的方法让我的应用在iOS上做同样的事情。
那么,有没有人有任何建议:
这必须是可行的 - 一旦设备完成启动,Facebook和Gmail等应用就会开始同步。
答案 0 :(得分:8)
在iOS上有效且可靠地运行简单的后台服务。
您无法在iOS上运行后台服务。您可以在后台执行部分操作,但操作系统保留随时终止您的应用的权利。
让服务在启动时启动
不可能。在iOS上启动时,第三方应用程序无法自动运行。
这必须是可行的 - 一旦设备完成启动,Facebook和Gmail等应用就会开始同步。
鉴于上述情况,我绝对可以告诉你,他们没有。它可能看起来像,但它们在技术上无法做到这一点。
iOS 7上的一个选项是让您的应用在收到特殊推送通知时在后台刷新数据,如here所述。简而言之,您可以发送触发数据刷新的推送通知,这可能是Facebook和GMail所做的,以便给人的印象是内容在后台不断更新。
答案 1 :(得分:1)
当您的应用启动时,它可以开始在后台更新/同步Dropbox数据。
设备启动时无法运行服务。 Facebook应用和Gmail应用没有在设备启动时运行的服务/流程。
答案 2 :(得分:1)
要完成:
您可以为application设置多种IOS后台模式(UIBackgroundModes)。
有一个允许应用程序在启动时启动(如果您的应用程序在关机时运行),并且还在崩溃时自动重新启动(它总是在后台重新启动)。这是“Voip”后台应用程序类型。
尽管苹果对“voip”应用程序的内容非常严格,但很可能对你没用。