Swift - 后台获取数据(Background Fetch)的实现
2015-09-28 20:28
387 查看
前面讲了如何让程序申请后台短时运行。但这个额外延长的时间毕竟有限。所以从iOS7起又引入两种在后台运行任务的方式:后台获取和后台通知。
1,后台获取介绍
后台获取(Background Fetch)是为了那些需要定期更新的应用程序设计的,比如天气应用,新闻客户端,社交网络应用程序等。在启动后台获取之后,应用程序可以在后台被唤醒,在后台获取最新信息,以便在用户将应用程序转到前台时能够立即显示这些信息。
2,后台获取功能开启
首先在选中项目,在Capabilities(功能)选项卡,启用Background Modes(后台模式)中的Background Fetch(后台获取)
3,后台获取时间间隔设置
(1)开启后台获取功能后,还需要在代码中使用setMinimumBackgroundFetchInterval()方法设置最短唤醒程序的时间间隔(秒)。但具体什么时候程序会被唤醒获取数据,就不可控了。这个由系统自己决定。
(2)如果想要告诉尽可能频繁调用,就直接设成UIApplicationBackgroundFetchIntervalMinimum。
4,使用样例
程序挂起后,自动从后台获取北京时间,获取后使用本地通知提醒用户。
(注意:后台获取执行后要调用completionHandler,告诉系统获取数据是否成功)
5,后台获取测试
(1)模拟器测试的话,只要选择Xcode 菜单栏的 Debug下的 Simulate Background Fetch即可
(2)真机调试,如果没有连着电脑有时候等了一天才发生后台获取。连着电脑可能等个几分钟就能获取。
http://www.hangge.com/blog/cache/detail_815.html
1,后台获取介绍
后台获取(Background Fetch)是为了那些需要定期更新的应用程序设计的,比如天气应用,新闻客户端,社交网络应用程序等。在启动后台获取之后,应用程序可以在后台被唤醒,在后台获取最新信息,以便在用户将应用程序转到前台时能够立即显示这些信息。
2,后台获取功能开启
首先在选中项目,在Capabilities(功能)选项卡,启用Background Modes(后台模式)中的Background Fetch(后台获取)
3,后台获取时间间隔设置
(1)开启后台获取功能后,还需要在代码中使用setMinimumBackgroundFetchInterval()方法设置最短唤醒程序的时间间隔(秒)。但具体什么时候程序会被唤醒获取数据,就不可控了。这个由系统自己决定。
(2)如果想要告诉尽可能频繁调用,就直接设成UIApplicationBackgroundFetchIntervalMinimum。
4,使用样例
程序挂起后,自动从后台获取北京时间,获取后使用本地通知提醒用户。
(注意:后台获取执行后要调用completionHandler,告诉系统获取数据是否成功)
(1)模拟器测试的话,只要选择Xcode 菜单栏的 Debug下的 Simulate Background Fetch即可
(2)真机调试,如果没有连着电脑有时候等了一天才发生后台获取。连着电脑可能等个几分钟就能获取。
http://www.hangge.com/blog/cache/detail_815.html
相关文章推荐
- Swift - 让程序挂起后,能在后台继续运行任务
- sqlite3数据库增删改查通用类swift
- Swift中的闭包
- Swift函数与类中方法的参数标签
- Swift 2.0中的数据类型
- 在Swift中UITableView中遇到的问题汇总
- Swift学习-枚举(八)
- Swift学习-闭包(七)
- Swift开发必备技巧:static和class的使用
- Swift - 委托(delegate)的介绍,及使用样例
- Swift学习笔记5——流程控制语句
- Swift - 闭包的介绍及用法(以数组排序为例)
- Swift - 产生不重复数字的随机数生成器
- Swift - 初始化方法返回nil表示初始化失败
- Swift - 使用位运算提取颜色,合并颜色
- Swift - 给图片添加图片水印(图片上绘制另一张图,并可设透明度)
- Swift 2.0关键字guard
- swifty引用AFNetworking出现clang: error: linker command failed with exit code 1 (use -v to see invocation
- Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)
- Swift 成员变量的get/set