即使终止,ios应用程序也可以从服务器获取数据

时间:2015-11-13 05:28:02

标签: ios apple-push-notifications

我需要我的应用来提醒用户某些更新。我知道我可以做远程通知服务,但我想得到的只是一个小计数变量,我想知道我是否可以做一些简单的事情,每30分钟ping一次服务器,即使应用程序没有运行。我相信这样的规定适用于Android

1 个答案:

答案 0 :(得分:2)

我认为iOS背景模式" 后台获取"正如你所描述的那样。

来自App Programming Guide for iOS - Background Execution

  

有机会获取少量内容

     

需要的应用   定期检查新内容可以要求系统唤醒它们   这样他们就可以启动该内容的获取操作。至   支持此模式,从中启用后台提取选项   Xcode中“功能”选项卡的“背景模式”部分   项目。 (您也可以通过添加支持来启用此支持   应用UIBackgroundModesfetch值的Info.plist键   文件。)启用此模式不能保证系统提供   您的应用程序随时执行后台提取。系统必须   平衡您的应用需要根据其他应用的需求获取内容   和系统本身。在评估该信息后,系统   在有良好机会的情况下为应用程序提供时间。

     

当出现好机会时,系统会唤醒或启动您的应用   进入后台并调用app delegate   application:performFetchWithCompletionHandler:方法。使用该方法   检查新内容并在内容时启动下载操作   是可用的。一旦您完成下载新内容,您就可以了   必须执行提供的完成处理程序块,传递结果   表示内容是否可用。执行此块   告诉系统它可以将您的应用程序移回暂停状态   并评估其用电量。下载少量的应用程序   内容快速,并准确反映他们有内容   可供下载,更有可能获得执行时间   未来需要花费很长时间才能下载内容的应用程序   或者声明内容可用,但随后不下载任何内容。

     

下载任何内容时,建议您使用   NSURLSession课程,用于发起和管理您的下载。对于   有关如何使用此类来管理上载和下载的信息   任务,请参阅URL Session Programming Guide