1.1 iPhone应用开发的背景

相信很多人都拥有至少一台苹果公司设备,或者是一台简单的iPod Touch,或者是任意一款的iPhone,iPhone 3、iPhone 3GS、iPhone 4、iPhone 4S或者是iPhone 5;当然还有iPad系列,从第1代到现在的iPad 4,mini iPad等。苹果公司个人终端如图1-1所示。

图1-1 苹果公司个人终端产品

也许有人会拥有一台苹果公司的个人计算机产品,可能是一台MacBook Pro,也可能是搭载了固态硬盘的MacBook Air,如图1-2所示。

图1-2 苹果公司个人计算机产品

苹果公司除了以音乐播放为主的如iPod nano,iPod Shuffle这样的设备外,其他的都能够作为一个智能的个人终端来运用,不仅能听音乐,还能玩游戏、处理文件、访问网络等,这是因为在这些设备中运行着一个小型的操作系统,称为iOS。iOS顾名思义,就是i化的操作系统(Operating System),这是与苹果公司为MAC计算机提供的OS系统相对而言的。

苹果公司的这些小型设备之所以能够进行复杂的处理、提供非常丰富的应用,正是因为其背后强大的iOS操作系统。到写作本书时,苹果公司已经发布了6个版本的iOS操作系统,iOS的版本号与iPhone或iPad的版本号并没有直接的对应关系。

通常在发布新一代的苹果iPhone手机产品之前,苹果公司会首先发布新一代的iOS版本,并且通常也支持旧的 iPhone、iPod Touch、iPad 从旧的 iOS系统升级到新的 iOS系统。

例如iPhone 4S发布时运行的是iOS 5.0版本,而之前的iPhone 4等设备通常运行的是iOS 4.0或者更早期的版本,用户可以选择是否升级到新的iOS版本。

苹果公司于2012年9月20日凌晨发布了iOS 6.0版本,新版本共包含超过200项新功能,这些改进主要体现在如表1-1所示的这些方面。

表1-1 iOS 6的主要功能改进——用户角度

iOS 6在用户功能方面的改进还有很多,这里不一一列举,对于用户来说,iOS 6的改进主要体现在对现有功能的各个细节方面的升级,从用户的直观感觉来说改变并不是太大,但对开发者来说,应该说影响要更大,表1-2列出了其中的一些主要的变化。

表1-2 iOS 6的主要功能改进——开发者角度

续表

在本书中经常会将iPhone应用开发和iOS应用开发两个名词混合起来使用,请不要感到困惑。iOS应用开发主要涉及的三个设备是iPhone、iPod Touch、iPad及iPad mini,iPod Touch 的开发方法和 iPhone 的开发并没有区别,只是有一些功能比如 GPS 定位等 iPod Touch 不一定支持,需要在具体开发的时候在代码中判断是否支持某项特定的功能。iPad及iPad mini在用户界面构建上和iPhone稍微有一些不同的地方,但是只要掌握了iPhone应用的开发方法,在iPad上完全可以用同样的方式甚至代码来实现,因此本书大多数例子都将在iPhone上运行。