我需要我的应用来提醒用户某些更新。我知道我可以做远程通知服务,但我想得到的只是一个小计数变量,我想知道我是否可以做一些简单的事情,每30分钟ping一次服务器,即使应用程序没有运行。我相信这样的规定适用于Android
答案 0 :(得分:2)
我认为iOS背景模式" 后台获取"正如你所描述的那样。
来自App Programming Guide for iOS - Background Execution:
有机会获取少量内容
需要的应用 定期检查新内容可以要求系统唤醒它们 这样他们就可以启动该内容的获取操作。至 支持此模式,从中启用后台提取选项 Xcode中“功能”选项卡的“背景模式”部分 项目。 (您也可以通过添加支持来启用此支持 应用
UIBackgroundModes
中fetch
值的Info.plist
键 文件。)启用此模式不能保证系统提供 您的应用程序随时执行后台提取。系统必须 平衡您的应用需要根据其他应用的需求获取内容 和系统本身。在评估该信息后,系统 在有良好机会的情况下为应用程序提供时间。当出现好机会时,系统会唤醒或启动您的应用 进入后台并调用app delegate
application:performFetchWithCompletionHandler:
方法。使用该方法 检查新内容并在内容时启动下载操作 是可用的。一旦您完成下载新内容,您就可以了 必须执行提供的完成处理程序块,传递结果 表示内容是否可用。执行此块 告诉系统它可以将您的应用程序移回暂停状态 并评估其用电量。下载少量的应用程序 内容快速,并准确反映他们有内容 可供下载,更有可能获得执行时间 未来需要花费很长时间才能下载内容的应用程序 或者声明内容可用,但随后不下载任何内容。下载任何内容时,建议您使用
NSURLSession
课程,用于发起和管理您的下载。对于 有关如何使用此类来管理上载和下载的信息 任务,请参阅URL Session Programming Guide。