然后自己仔细品味了一番,有一些收货,这边顺便记录,总结和分享一下。
iOS7以前的Multitasking,其实是个伪多任务,一般的App不能在后台执行自己的代码,只有下面这几种任务可以在注册服务之后后台运行。
- 后台完成某些花费时间的特定任务
- 后台播放音乐等
- 位置服务
- IP电话(VoIP)
- Newsstand
在IOS 7 中,后台API主要给开发者提供了下面几个功能:
- Background Fetch(后台获取)
- Remote Notifications(静默推送)
- Background Transfer Service(后台传输)
Remote Notifications:由统一推送通知激活后台,支持silent notification,适合实时类强的应用,有频率限制(每小时几次)。
Background Transfer Service:可以由应用直接激活的无限制后台,权限大,但是只限于下载上传类服务,只会在 WiFi 环境下才进行传输。但是,想要实现后台传输,就必须使用iOS7的新的网络连接的类,NSURLSession。这是iOS7中引入用以替代陈旧的NSURLConnection的类。