IT虾米网

iOS后台模式开发指南详解

admin 2018年06月21日 手机开发 667 0

自从古老的iOS4以来,当用户点击home建的时候,你可以使你的APP们在内存中处于suspended(挂起)状态.即使APP仍停留在内存中,它的所有操作是被暂停的直到用户再次运行它.

当然这个规则中有例外情况.在特定的情况下,这个APP仍然可以在后台中执行某些操作.这个教程会教你在什么时候怎么去用最常用的一些后台操作.

每一次iOS的发布都会在后台操作和细节上的放宽限制,以此提升用户体验和延长电池寿命.对于在iOS中实现”真正”的多任务来说,后台模式不是一个神奇的解决办法.当用户切换到其他的APP应用时,大多数的APP应用仍然会完全的暂停运行.你的应用只被允许在很特殊的情况下才能在后台中继续运行.例如,这些包括播放音频,获取位置更新,或者从服务器获取最新内容的情况.

iOS7之前,APP应用在真正暂停之前会有连续10分钟的时间去完成它们当前的操作.随着NSURLSession的出现,有了一种更为优雅的方式去应对大量的网络切换.因此,对于可用的后台运行时间已经减少到只有几分钟,而且不再必须为连续的.

这样的后台模式可能不适合你.但如果合适,请继续阅读!

接下来的学习中,将会有几个几个后台模式提供给你.在本教程中你将建立一个关于简单标签应用的工程,来探索从连续播放视频到周期性的获取更新内容的四种常见模式.

开始

在深入这个工程之前,这里有一个iOS可用的基础后台模式的快速预览.在Xcode 6中,你通过点击目标程序的Capabilities(功能)选项卡能够

看到如下列表:

打开后台模式功能列表(1)在项目导航栏中选择项目(2)选择目标应用(3)选择功能选项卡(4)把后台模式开关打开.

在这个教程中,你会研究四种后台进程处理方式.

*视频播放:APP可以在后台播放或录制视频

*获取位置更新:该应用会随着设备位置的改变继续回调结果.

*执行一定的任务:通常在没有限制的情况下,这时APP会在有限的时间内运行任意的代码.

*后台获取:通过iOS的更新计划获取最细的内容.

这个教程将按照上面的顺序,在本教程的每个部分中介绍如何使用这四个模板.

从这个像观光车一样的工程开始,通过它熟悉一下iOS后台机制,首先下载这个上手工程.有个好消息:用户界面已经为你预配置好了.

运行这个示例项目,检查一下你的四个选项卡.

这些选项卡是本教程剩余部分的路线图.第一站:后台视频

提示:为了使后台模式充分发挥作用,你应该使用一个真正的设备.根据我的经验,如