iOS中是否可能在应用未启动的情况下进行后台同步?

3

我有一个应用程序,我会定期下载一些数据(目前使用NSTimer)。在iOS中是否有可能在不启动我的应用程序的情况下定期执行此操作?


2
如果用户不启动应用程序,为什么要下载任何数据呢? - user971401
如果应用程序已经有数据,它将更快地启动。 - DixieFlatline
1
在后台线程上获取数据,并随着数据的到来更新用户界面。 - JeremyP
5个回答

5

在某些非常特定的情况下,是可能的。我正在谈论的非常特定的情况是如果它是杂志或报纸应用程序。这可以让您使用NewsstandKit在后台下载新问题,以便用户可以获得新版本而无需等待下载。


4
不,这是不可能的。您不能像服务一样处理应用程序。
唯一的方法是在应用程序运行时进行操作。某些应用程序可能会在后台执行某些操作(例如用户启动它,然后按下主屏幕按钮),但它们必须像音频应用程序一样设置在info.plist中添加以下内容: <key>UIBackgroundModes</key><array><string>audio</string></array> 并确保audioSession处于活动状态(例如播放歌曲)。无论如何,我不建议使用前面提到的方法。我会采取传统的方式,在后台线程上运行下载。

2
不,这是不可能的。必须启动应用程序。

1
不,这是不可能的。iOS不允许开发者在后台执行代码(除了一些针对VoIP等的例外),也不允许在不启动应用程序的情况下执行代码。

我无法理解苹果如何定位iOS,例如对企业应用程序有如此巨大的限制... - Frederic Yesid Peña Sánchez

0

我可以说使用iCloud这是有点可能的吗?我并没有做过任何特定于iCloud的编程,但我有一些游戏,其中保存的游戏会自动同步。我只需要在启动游戏后加载所述的存档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接