|
文章导航
【iOS新手开发之旅】 http://www.sufeinet.com/thread-24000-1-1.html
概述
iOS (全称iPhone OS,从iOS 4后改名为 iOS) 是苹果公司为移动设备开发的专有移动操作系统,支持的设备包括iPhone、iPod touch 和iPad。苹果公司(Apple Inc.)是美国一家高科技公司。由史蒂夫·乔布斯、斯蒂夫·沃兹尼亚克和罗·韦恩(Ron Wayne)等人于1976年4月1日创立,并命名为美国苹果电脑公司(Apple Computer Inc.),2007年1月9日更名为苹果公司,总部位于加利福尼亚洲的库比蒂诺。更多
苹果公司最早于2007年1月9日的Macworld大会上公布iOS系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。直到2008年苹果公司才取名为iPhone OS,并在2010年6月改名为iOS。2012年发布4inch设备iPhone 5,从此开启多屏幕适配的道路。WWDC2013中,苹果发布了iOS7,彻底更改了用户界面,将原本拟物的风格转变为平面化的风格。
构建iOS平台的知识与Mac OS X 系统同出一辙,iOS平台的许多开发工具和开发技术也源自Mac OS X。不过开发者无须具备Mac OS X 开发经验就可以编写iOS应用程序。iPhone软件开发包(SDK)为创建iOS应用程序提供所需要的一切。
- 2007:第一个iOS系统版本,提出为它提供软件支持。iPhone 1上市。
- 2008:操作系统取名为iPhone OS, AppStore 出现。iPhone 3G 上市。
- 2009:iPhone OS 3发布,增加复制粘贴,Spotlight搜索和语音控制等,拟物化设计。iPhone3GS 上市。
- 2010:iPhone OS 改名为iOS,增加双击Home键跳转应用。iPhone 4 上市。
- 2011:iOS 5 发布,增加iClould,新的iMessage和通知中心。iPhone 4s 上市。
- 2012:iOS 6 发布,增加自己的地图服务。iPhone 5 上市。
- 2013:iOS 7 发布,扁平化设计,增加Touch ID 允许通过指纹识别来解锁设备。iPhone5c/5s 上市。
- 2014:iOS 8 发布,增加在 Mac 上也可以阅读和编辑 iMessages,或者接听电话。iPhone6/6 plus 上市。
- 2015:iOS 9 发布,iPhone6s/6s plus 上市。
- 2016:iOS 10 发布,增加家庭 APP, 通知可显示图片和视频。iPhone SE/7/7 plus 上市。
- 2017:iOS 11 发布,增加对AR 的支持,提供ARKit。iPhone X/8/8 plus 上市。
- 2018:iOS 12 发布,增加通知消息的管理,系统速度更快。iPhone XR/iPhone Xs/iPhone Xs Max/Apple Wath Series 4 上市。
系统架构和常用框架
iOS基于UNIX系统,iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)、核心操作系统层(Core OS layer),如下图:
- 触摸层:为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。如Notification Center的本地通知和远程推送服务,iAd广告框架,GameKit游戏工具框架,消息UI框架,图片UI框架,地图框架,连接手表框架,自动适配等。
- 媒体层:提供应用中视听方面的技术,如图形图像相关的CoreGraphics,CoreImage,GLKit,OpenGL ES,CoreText,Image IO 等。声音技术相关的Core Audio,OpenAL,AVFoundation,视频相关的Core Media,Media Player框架,间视频传输的AirPlay框架等。
- 核心服务层:提供给应用程序所需要的基础的系统服务。如Accounts账户框架,广告框架,数据存储框架,网络连接框架,地理位置框架,运动框架等。这些服务中最核心的是Core Foundation和Foundation框架,定义了所有应用使用的数据类型。Core Foundation是基于C的一组接口,Foundation是对Core Foundation的OC的封装。
- 核心操作系统层:包含大多数低级别接近硬件的功能,它包含的框架常常被其它框架所使用。Accelerate框架包含数字信号,线性代数,图像处理的接口。针对所有的iOS设备硬件之间的差异做优化,保证写一次代码在所有iOS设备上高效运行。Core Bluetooth框架利用蓝牙和外设交互,包括扫描连接蓝牙设备,保存连接状态,断开连接,获取外设的数据或者给外设传输数据等。Security框架提供管理证书,公钥和私钥信任策略,keychain,hash认证数字签名等与安全相关的解决方案。
框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。
iOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。在上面所有框架中,最重要也是最经常使用的就是UIKit 和 Foundation框架。
Foundation框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础,为所有应用程序提供最基本的系统服务,和界面无关。
UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,所有iOS应用程序都是基于UIKit,它提供应用程序的基础框架,用于构建用户界面,绘图、处理用户交互事件,响应手势等。UIKit 通过控制器对象管理屏幕上显示的内容,界面的跳转,来组织应用程序。可以这样说,没有UIKit 框架就没有iOS应用程序。一般创建新的应用程序时,根据你为应用程序选择的模版,相关的框架就已经被自动引入了,如果默认的框架不能满足你的应用程序的需求,你可以加入需要的框架。
开发准备
- 开发环境:Mac OS
- 开发工具:XCode
- 开发语言:Objective-C,Swift
下一篇:iOS开发环境搭建
|
|