iOS开发标准教程
上QQ阅读APP看书,第一时间看更新

1.1 iOS简介

iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布了这个系统,随后于同年6月发布了第一版iOS操作系统,当初的名称为“iPhone runs OS X”。最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad、Apple Watch以及Apple TV等苹果产品上。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。系统大概占用240MB的内存空间。图1.1为苹果公司最新发布的iOS 9的界面。

42241-00-013-1.jpg

图1.1 iOS 9界面

1.1.1 iOS发展历程

iOS经过不断发展和完善,逐步被人们熟悉和接受。最初,由于没有人了解“iPhone runs OS X”的潜在价值和发展前景,导致没有一家软件公司、没有一个软件开发者给“iPhone runs OS X”开发软件或者提供软件支持。于是,苹果公司时任CEO斯蒂夫·乔布斯说服各大软件公司以及开发者可以先搭建低成本的网络应用程序(Web APP),使得它们能像iPhone的本地化程序一样来测试“iPhone runs OS X”平台。

2007年10月17日,苹果公司发布了第一个本地化iPhone应用程序开发包(SDK),并且计划在2月发送到每个开发者以及开发商手中。

2008年3月6日,苹果发布了第一个测试版开发包,并且将“iPhone runs OS X”改名为“iPhone OS”。

2008年9月,苹果公司将iPod touch的系统也换成了“iPhone OS”。

2010年2月27日,苹果公司发布iPad,iPad同样搭载了“iPhone OS”。这年,苹果公司重新设计了“iPhone OS”的系统结构和自带程序。

2010年6月,苹果公司将“iPhone OS”改名为“iOS”,同时还获得了思科iOS的名称授权。

2010年第四季度,苹果公司的iOS占据了全球智能手机操作系统26%的市场份额。

2011年10月4日,苹果公司宣布iOS平台的应用程序已经突破50万个。

2012年2月,应用总量达到552,247个,其中游戏应用最多,达到95,324个,比重为17.26%;书籍类以60,604个排在第二,比重为10.97%;娱乐应用排在第三,总量为56,998个,比重为10.32%。

2012年6月,苹果公司在WWDC 2012上宣布了iOS 6,提供了超过200项新功能。

2013年6月10日,苹果公司在WWDC 2013上发布了iOS 7,几乎重绘了所有的系统APP,去掉了所有的仿实物化,整体设计风格转为扁平化设计。

2013年9月10日,苹果公司在2013秋季新品发布会上正式提供iOS 7下载更新。

2014年6月3日,苹果公司在WWDC 2014上发布了iOS 8。

2015年6月9日,苹果在WWDC2015大会上,正式发布iOS 9系统,成为最新的iOS系统。

1.1.2 iOS架构

iOS架构和Mac OS的基础架构相似。站在高级层次来看,iOS扮演底层硬件和应用程序(显示在屏幕上的应用程序)的中介的角色,如图1-2所示。用户创建的应用程序不能直接访问硬件,而需要和系统接口进行交互。系统接口转而又去和相应的驱动打交道。这样的抽象可以防止用户的应用程序改变底层硬件。应用程序位于iOS上层。iOS实现可以看作是多个层的集合,底层为所有应用程序提供基础服务,高层则包含一些复杂巧妙的服务和技术。

42241-00-014-1.jpg

图1.2 iOS架构

Cocoa Touch层包含创建iOS应用程序所需的关键框架。上至实现应用程序可视界面,下至与高级系统服务交互,都需要该层技术提供底层基础。在开发应用程序的时候,请尽可能不要使用更底层的框架,尽可能使用该层的框架。

媒体层(Media)包含图形技术、音频技术和视频技术,这些技术相互结合就可为移动设备带来最好的多媒体体验,更重要的是,它们让创建外观音效俱佳的应用程序变得更加容易。用户可以使用iOS的高级框架更快速地创建高级的图形和动画,也可以通过底层框架访问必要的工具,从而以某种特定的方式完成某种任务。

Core Services层为所有的应用程序提供基础系统服务。可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础。

Core OS层的功能是很多其他技术的构建基础。通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架。但是,在直接处理安全事务或和某个外设通信的时候,则必须要应用到该层的框架。

1.1.3 iOS运行设备

目前可以运行iOS的设备有iPhone、iPad、iPod、Apple Watch、Apple TV。图1.3所示为运行基于iOS系统运行的部分设备。

42241-00-015-1.jpg

图1.3 基于iOS运行的部分产品