IOS后台工作

Bey*_*ron 4 iphone multithreading background-process ios background-thread

我有iPhone的iPhone应用程序.我的应用程序必须连接我的服务器并定期每两个小时读取所有消息.我有一个线程来读取所有消息,但是当应用程序终止时,线程无法工作.线程是否可以独立于主代理运行,或者如何找到此问题的解决方案?

kla*_*her 6

你不能让你的应用程序在后台执行操作.有一个API可以完成上传照片等任务,但即使这样也会在大约10分钟后被杀死.

Apple推送通知服务似乎是最适合您的问题的解决方案.您的服务器通知设备发生了新的事情,并在用户打开应用程序时获取实际消息.

编辑:从iOS 7开始,Apple实现了一项功能,您可以在其中安排运行任务以在后台获取数据.这些任务不保证在任何特定时间运行.请参阅iOS 7发行说明以及下面的链接方法:

通过联系服务器定期更新其内容的应用程序可以向系统注册,并定期启动以在后台检索该内容.要注册,请在应用程序的Info.plist文件中包含带有提取值的UIBackgroundModes键.然后,在启动应用程序时,调用setMinimumBackgroundFetchInterval: 方法以确定它接收更新消息的频率.最后,您还必须在应用程序委托中实现 应用程序:performFetchWithCompletionHandler:方法.