原网址是:http://zh.wikipedia.org/wiki/IOS
转过来对新进入这个领域的开发人员做个科普。
iOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch、iPad以及Apple TV使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。[1][2]iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。[3]
目录 |
iOS的用户界面的概念基础上是能够使用多点触控直接操作。控制方法包括滑动、轻触开关及按键。与系统交互包括滑动(Swiping)、轻按(Tapping)、挤压(Pinching)及旋转(Reverse Pinching)。此外通过其自带的加速器,可以令其旋转设备改变其y轴以令屏幕改变方向,这样的设计令iPhone更便于使用。
屏幕的下方有一个home按键,底部则是dock,有四个用户最经常使用的程序的图标被固定在dock上。屏幕上方有一个状态栏能显示一些有关信息,如时间、电池电量和信号强度等。其余的屏幕用于显示当前的应用程序。启动iPhone应用程序的唯一方法就是在当前屏幕上点击该程序的图标,退出程序则是按下屏幕下方的home键。在第三方软件退出后,它直接就被关闭了,但在iPhone 3.0及后续版本中,当第三方软件收到了新的消息时,苹果公司的服务器将把这些通知推送至iPhone或iPod Touch上(不管它是否正在运行中)。在iPhone上,许多应用程序之间都是有联系的,这样不同的应用程序能够分享同一个消息(如当你收到了包括一个电话号码的短信时,你可以选择是将这个电话号码存为联络人或是直接选择这个号码打一通电话)。
SDK
1A543a | 03.11.02_G | 2007年6月29日 | O | - | - | - | - | - | - | - |
1C25 | 03.12.08_G | 2007年7月31日 | O | - | - | - | - | - | - | - |
1C28 | 03.14.08_G | 2007年8月21日 | O | - | - | - | - | - | - | - |
3A100a 3A101a |
2007年9月14日 | O | - | - | - | - | - | - | - | |
3A109a 3A110a |
04.01.13_G | 2007年9月27日 | O | - | - | - | - | - | - | - |
3B48b | 04.02.13_G | 2007年11月12日 | O | - | - | - | - | - | - | - |
4A93 | 04.03.13_G | 2008年1月15日 | O | - | - | - | - | - | - | - |
4A102 | 04.04.05_G | 2008年2月26日 | O | - | - | - | - | - | - | - |
4B1 | 2008年7月15日 | O | - | - | - | - | - | - | - | |
5A347 | 04.05.04_G 01.45.00 |
2008年7月11日 | O | O | - | - | - | - | - | - |
5B108 | 04.05.04_G 01.48.02 |
2008年8月4日 | O | O | - | - | - | - | - | - |
5C1 | 04.05.04_G 02.08.01 |
2008年8月18日 | O | O | - | - | - | - | - | - |
5F136 5F137 9M2517 |
04.05.04_G 02.11.07 |
2008年9月9日 | O | O | - | - | - | - | - | - |
5F138 | 2008年9月9日 | O | O | - | - | - | - | - | - | |
5G77 5G77a |
04.05.04 02.28.00 |
2008年11月21日 | O | O | - | - | - | - | - | - |
5H11 5H11a 9M2621a |
04.05.04_G 02.30.03 |
2009年2月27日 | O | O | - | - | - | - | - | - |
7A341 | 04.05.04_G 04.26.08 |
2009年6月17日 | O | O | O | - | - | - | - | - |
7A400 | 04.05.04_G 04.26.08 |
2009年7月31日 | O | O | O | - | - | - | - | - |
7C144 7C145 |
04.05.04_G 5.11.04 5.11.07 |
2009年9月9日 | O | O | O | - | - | - | - | - |
7D11 | 04.05.04_G 5.11.07 |
2009年10月8日 | O | O | O | - | - | - | - | - |
7E18 | 05.12.01 | 2010年1月2日 | O | O | O | - | - | - | - | - |
7B367 | 06.15.00 | 2010年1月27日 | X | X | X | - | - | O | - | - |
7B405 | 06.15.00 | 2010年6月21日 | X | X | X | O | - | - | - | - |
8A293 | 05.13.04 | 2010年7月15日 | X | O | O | O | - | O | - | - |
8A306 | 05.13.04 | 2010年7月16日 | X | O | O | O | - | O | - | - |
8B117 | 05.14.02 | 2010年9月8日 | X | O | O | O | - | O | - | - |
8C148a | 05.15.04 | 2010年11月23日 | X | O | O | O | - | O | - | - |
8E128 | - | 2011年1月11日 | X | X | X | O(仅支持 CDMA iPhone 4) | - | X | - | - |
8E200 | - | 2011年2月1日 | X | X | X | O(仅支持 CDMA iPhone 4) | - | X | - | - |
8E303 | - | 2011年4月14日 | X | X | X | O(仅支持 CDMA iPhone 4) | - | X | X | X |
8E501 | - | 2011年7月16日 | X | X | X | O(仅支持 CDMA iPhone 4) | - | X | X | X |
8F190 | 05.16.01 | 2011年3月10日 | X | X | O | O(CDMA iPhone 4 除外) | - | O | O | O |
8G4 | 04.10.01 | 2011年3月26日 | X | X | O | O(CDMA iPhone 4 除外) | - | O | O | O |
8H7 | 05.16.02 | 2011年4月15日 | X | X | O | O(CDMA iPhone 4 除外) | - | O | O | O |
8J2 | 05.16.02 | 2011年5月5日 | X | X | O | O(CDMA iPhone 4 除外) | - | O | O | O |
8K2 | 05.16.02 | 2011年7月16日 | X | X | O | O(CDMA iPhone 4 除外) | - | O | O | O |
8L1 | 05.16.02 | 2011年7月26日 | X | X | O | O(CDMA iPhone 4 除外) | - | O | O | O |
9A334 | 04.11.08 | 2011年10月12日 | X | X | O | O | O | O | O | O |
iPhone和iPod Touch使用基于ARM架构的中央处理器,而不是苹果的麦金塔计算机使用的x86处理器(就像以前的PowerPC或MC680x0),它使用由PowerVR视屏卡渲染的OpenGL ES 1.1[4]。因此,Mac OS X 上的应用程序不能直接复制到iOS上运行。他们需要针对iOS的ARM重新编写。但就像下面所提到的,Safari浏览器支持“Web应用程序”。从iOS 2.0开始,通过审核的第三方应用程序已经能够通过苹果的App Store进行发布和下载了。
在4.1版本中,iPhone的主接口包括以下自带的应用程序:SMS(短信)、日历、照片、相机、YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算器、备忘录、系统设置、iTunes(将会被链接到iTunes Music Store和iTunes广播目录)、App Store以及联络信息。还有四个位于最下方的常用应用程序包括有:电话、Mail、Safari和iPod。[5]
在4.2版本中,新增了Game Center、FaceTime。
在4.3版本中,新增了个人热点、Ping功能。其中个人热点功能,需配搭 iPhone 4 才能使用。
除了电话、短信,iPod Touch保留了大部分iPhone自带的应用程序(第四代的iPod Touch新增了相机和FaceTime)。iPhone上的"iPod"程序在iPod Touch上被分成了两个:音乐和视频。位于主界面最下方dock上的应用程序也根据iPod Touch的主要功能而改成了:音乐、Mail、Safari、视频。
iPad只保留部分iPhone自带的应用程序:日历、通信录、备忘录、视频、YouTube、iTunes Store、App Store以及设置;四个位于最下方的常用应用程序是:Safari、Mail、照片和iPod。
iPad 2 增设了相机镜头,所以亦补回了相机、FaceTime应用程序。
在2007年苹果全球开发者大会上,苹果宣布iPhone和iPod Touch将会通过Safari网络浏览器支持某些第三方应用程序,这些应用程序被称为Web应用程序。它们能通过AJAX网络技术编写出来。[6]
iOS上本来只能从App Store用官方的方法安装完整的软件。[7]然而,自iOS起步之日开始,就已经有App Store以外第三方软件可以在iPhone上运行。[8]这些软件面临着被任何一次iOS更新而完全破坏的可能性, 虽然苹果也曾经说明过它不会为了破坏这些第三方软件而专门设计一个系统升级(会将SIM解锁的软件除外)。[9]这些第三方软件发布的方法是通过Installer或Cydia utilities,这两个程序会在iPhone越狱之后被安装到iPhone上。
2007年10月17日,史蒂夫·乔布斯在一封张贴于苹果公司网页上的公开信上宣布软件开发工具包。它将在2008年2月提供给第三方开发商。软件开发工具包于2008年3月6日发布,并允许开发人员开发iPhone和iPod touch的应用程序,并对其进行测试,名为“iPhone手机模拟器”。然而,只有在付出了iPhone手机开发计划的费用后,应用程序才能发布。自从Xcode 3.1 发布以后,Xcode就成为了iPhone软件开发工具包的开发环境。
在2008年3月6日,iPhone的软件开发工具包在苹果大会堂会议正式宣布。第一个Beta版本是iPhone SDK 1.2b1(build 5A147p)它在发布后立即就能够使用了,但是同时推出的App Store所需要的固件更新则直到2008年7月11日才发布。对于iPhone用户,这个更新是免费的;然而,iPod touch的用户则需要为更新付出9.99美元。
2008年3月27日 | 2.0b2 Beta 2 |
首发,发布iOS 2.0b2 (build 5A225c) |
2008年4月8日 | 2.0b3 Beta 3 |
发布iOS 2.0b3 (build 5A240d) |
2008年4月23日 | 2.0b4 Beta 4 |
发布iOS 2.0b4 (build 5A258f) |
2008年5月6日 | 2.0b5 Beta 5 |
发布iOS 2.0b5 (build 5A274d) |
2008年5月29日 | 2.0b6 Beta 6 |
发布iOS 2.0b6 (build 5A292g) |
2008年6月19日 | 2.0b7 Beta 7 |
发布iOS 2.0b7 (build 5A331) |
2008年6月26日 | 2.0b8 Beta 8 |
发布iOS 2.0b8 (build 5A345) |
2008年7月24日 | 2.1 Beta 1 |
发布iOS 2.1 (build 5F90) |
2008年7月30日 | 2.1 Beta 2 |
发布iOS 2.1 |
2008年8月8日 | 2.1 Beta 3 |
发布iOS 2.1 |
2008年9月25日 | 2.2 Beta 1 |
发布iOS 2.2 (Build 5G29) |
2008年11月20日 | 2.2 | 发布iOS 2.2 (build 9M2621) |
2009年1月27日 | 2.2.1 | 发布iOS 2.2.1 (build 9M2621a) |
2009年3月17日 | 3.0 Beta 1 |
发布iOS 3.0的预览版及SDK 3.0的测试版 |
2009年3月31日 | 3.0 Beta 2 |
发布iOS 3.0的预览版 |
2009年4月14日 | 3.0 Beta 3 |
发布iOS 3.0的预览版 |
2009年4月28日 | 3.0 Beta 4 |
发布iOS 3.0的预览版 |
2009年5月6日 | 3.0 Golden Master Seed |
iOS 3.0的最终版(只给开发商和私人测试) |
2009年6月17日 | 3.0 Final |
iOS 3.0的最终版(公开版) |
2009年7月31日 | 3.0.1 | 修复SMS漏洞 |
2009年6月30日 | 3.1 Beta 1 |
发布iOS 3.1的预览版 |
2009年7月15日 | 3.1 Beta 2 |
发布iOS 3.1的预览版 |
2009年7月28日 | 3.1 Beta 3 |
发布iOS 3.1的预览版 |
2009年9月9日 | 3.1 Final |
发布iOS 3.1的最终版(公开版) |
2010年3月10日 | 3.2 Beta 4 |
发布 iOS 3.2 预览版 |
2010年3月17日 | 3.2 Beta 5 |
发布 iOS 3.2 预览版 |
2010年6月21日 | 4.0 Final |
发布 iOS 4.0 最终版(公开版) |
2010年9月10日 | 4.1 Final |
发布 iOS 4 第一次重大升级: iOS4.1 |
2010年11月1日 | 4.2.1 Final |
发布 iOS 4 第二次重大升级: iOS4.2.1 |
2011年1月13日 | 4.3 Beta1 |
发布 iOS 4.3 预览版 |
2011年1月20日 | 4.3 Beta2 |
发布 iOS 4.3 预览版 |
2011年2月2日 | 4.3 Beta3 |
发布 iOS 4.3 预览版 |
2011年6月6日 | 5.0 Final |
发布 iOS 5.0 最终版(公开版) |
由于iOS是从于Mac OS X核心演变而来,因此开发工具也是基于Xcode。
该SDK可分类为下列几大项:
和Xcode工具一样,SDK开发工具中包含的iPhone模拟器用来在开发人员的电脑上模拟iPhone的外观和感觉。最初它被称为阿斯模拟器(Aspen Simulator),它被重命名于BETA2版中发布的SDK。
请注意,iPhone模拟器并不是一个用于运行x86目标代码的工具。
该SDK需要拥有英特尔处理器且运行Mac OS X Leopard系统的Mac才能使用。其他的操作系统,包括微软的Windows操作系统和旧版本的Mac OS X都不被支持。
SDK本身是可以免费下载的,但为了发布软件,开发人员必须加入iPhone开发者计划,其中有一步需要付款以获得苹果的批准。加入了之后,开发人员们将会得到一个牌照,他们可以用这个牌照将他们编写的软件发布到苹果的App Store。发布软件一共有三种方法: 通过App Store,通过企业配置仅在企业内部员工间应用,也可通过基于"Ad-hoc"而上载至多达100部iPhones。
这个发布iPhone软件的形式的出现使人们不能根据GPLv3的授权代码发布软件。任何根据GPLv3任何代码的开发者也必须得到GPLv3的授权。同时,开发商在散发布已经由GPLv3 授权的应用软件的同时必须提供由苹果公司提供的密匙以允许该软件修改版本的上载。[10]
Core Location是Mac OS X中其中一个软件框架。它主要用来存储应用程序在iOS 2.0检测设备的位置。它作为iPhone软件路线图在2008年3月6日开发者大会上宣布,并成为了iPhone的软件开发包的一部分。
|
苹果至今仍没有宣布任何让iPhone运行Java的计划。但太阳微系统已宣布其将会发布能在iPhone上运行的Java虚拟机 (JVM)的计划,它是基于Java的Micro Edition版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行。[11]
在这个计划发表之后,熟悉iOS软件开发协议的程序员们相信虽然iOS软件开发协议不允许应用程序后台运行(比如说在接电话的时候仍然运行程序),[12] 但却允许自带的应用程序从其他的来源下载代码,而且它们还能与第三方应用程序相互作用(比如说Safari和Java虚拟机),这可能会阻碍不与苹果合作的Java虚拟机的发展[13]。 很明显,在iPhone运行的Java在iOS软件开发协议所规定的范畴以外。这个条列是规定3.3.2,其内容如下:
3.3.2 — 无论如何,应用程序都不能自己安装或者启动其他任何可运行的代码,包括没有限制的插件架构的使用,别的架构,应用程序接口或者其他任何形式。除了苹果发行的应用程序接口和内置的解释器,所有翻译码都不能经应用程序下载或使用。
然而,一些iPhone用户已经表明通过越狱的方式,iPhone能安装和运行Java ME。在iPhone使用Java的可能性通过太阳计算机系统公司和苹果的会谈逐渐透露了出来,目前太阳计算机公司正通过一个叫做Innaworks的公司为此目标而进行努力。[14][15]奇怪的是,iPhone使用的ARM处理器自身包括一个Java内置的硬件加速环境。[16].
Flash Professional CS5内曾经一度被中断开发的iOS软件输出功能,由于现在Apple已经开放第三方开发工具的使用,Adobe已经决定恢复此功能的开发作业。不过Apple目前仍未开放在浏览器内运行Flash内容。现时可以使用iPhone第三方程式jailbreak观看flash动画。
从iPhone2.1固件开始,iPhone版Safari开始支持SVG。该SVG支持SVG 1.1的编码特征和大部分静态功能。但它的图形界面还不支持SMIL动画。这需要等SMIL引擎足够成熟之后才能被支持。除SVG外,还支持HTML Canvas。