iOS--wiki的描述

 原网址是:http://zh.wikipedia.org/wiki/IOS

转过来对新进入这个领域的开发人员做个科普。

iOS是由苹果公司iPhone开发的操作系统。它主要是给iPhoneiPod touchiPad以及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
组建编号
固件编号 发布日期 支持
iPhone / iPod Touch
支持
iPhone 3G / iPod Touch 2G
支持
iPhone 3GS / iPod Touch 3G
支持
iPhone 4 / iPod Touch 4G
支持
iPhone 4S
支持
iPad
支持
iPad 2
支持
Apple TV 2G
1.0 1A543a 03.11.02_G 2007年6月29日 O - - - - - - -
1.0.1 1C25 03.12.08_G 2007年7月31日 O - - - - - - -
1.0.2 1C28 03.14.08_G 2007年8月21日 O - - - - - - -
1.1 3A100a
3A101a
  2007年9月14日 O - - - - - - -
1.1.1 3A109a
3A110a
04.01.13_G 2007年9月27日 O - - - - - - -
1.1.2 3B48b 04.02.13_G 2007年11月12日 O - - - - - - -
1.1.3 4A93 04.03.13_G 2008年1月15日 O - - - - - - -
1.1.4 4A102 04.04.05_G 2008年2月26日 O - - - - - - -
1.1.5 4B1   2008年7月15日 O - - - - - - -
2.0 5A347 04.05.04_G
01.45.00
2008年7月11日 O O - - - - - -
2.0.1 5B108 04.05.04_G
01.48.02
2008年8月4日 O O - - - - - -
2.0.2 5C1 04.05.04_G
02.08.01
2008年8月18日 O O - - - - - -
2.1 5F136
5F137
9M2517
04.05.04_G
02.11.07
2008年9月9日 O O - - - - - -
2.1.1 5F138   2008年9月9日 O O - - - - - -
2.2 5G77
5G77a
04.05.04
02.28.00
2008年11月21日 O O - - - - - -
2.2.1 5H11
5H11a
9M2621a
04.05.04_G
02.30.03
2009年2月27日 O O - - - - - -
3.0 7A341 04.05.04_G
04.26.08
2009年6月17日 O O O - - - - -
3.0.1 7A400 04.05.04_G
04.26.08
2009年7月31日 O O O - - - - -
3.1 7C144
7C145
04.05.04_G
5.11.04
5.11.07
2009年9月9日 O O O - - - - -
3.1.2 7D11 04.05.04_G
5.11.07
2009年10月8日 O O O - - - - -
3.1.3 7E18 05.12.01 2010年1月2日 O O O - - - - -
3.2 7B367 06.15.00 2010年1月27日 X X X - - O - -
3.2.1 7B405 06.15.00 2010年6月21日 X X X O - - - -
4.0 8A293 05.13.04 2010年7月15日 X O O O - O - -
4.0.1 8A306 05.13.04 2010年7月16日 X O O O - O - -
4.1 8B117 05.14.02 2010年9月8日 X O O O - O - -
4.2.1 8C148a 05.15.04 2010年11月23日 X O O O - O - -
4.2.5 8E128 - 2011年1月11日 X X X O(仅支持 CDMA iPhone 4) - X - -
4.2.6 8E200 - 2011年2月1日 X X X O(仅支持 CDMA iPhone 4) - X - -
4.2.7 8E303 - 2011年4月14日 X X X O(仅支持 CDMA iPhone 4) - X X X
4.2.9 8E501 - 2011年7月16日 X X X O(仅支持 CDMA iPhone 4) - X X X
4.3 8F190 05.16.01 2011年3月10日 X X O O(CDMA iPhone 4 除外) - O O O
4.3.1 8G4 04.10.01 2011年3月26日 X X O O(CDMA iPhone 4 除外) - O O O
4.3.2 8H7 05.16.02 2011年4月15日 X X O O(CDMA iPhone 4 除外) - O O O
4.3.3 8J2 05.16.02 2011年5月5日 X X O O(CDMA iPhone 4 除外) - O O O
4.3.4 8K2 05.16.02 2011年7月16日 X X O O(CDMA iPhone 4 除外) - O O O
4.3.5 8L1 05.16.02 2011年7月26日 X X O O(CDMA iPhone 4 除外) - O O O
5.0 9A334 04.11.08 2011年10月12日 X X O O O O O O

支持的软件

iPhone和iPod Touch使用基于ARM架构中央处理器,而不是苹果的麦金塔计算机使用的x86处理器(就像以前的PowerPCMC680x0),它使用由PowerVR视屏卡渲染的OpenGL ES 1.1[4]。因此,Mac OS X 上的应用程序不能直接复制到iOS上运行。他们需要针对iOS的ARM重新编写。但就像下面所提到的,Safari浏览器支持“Web应用程序”。从iOS 2.0开始,通过审核的第三方应用程序已经能够通过苹果的App Store进行发布和下载了。

iOS自带的应用程序

在4.1版本中,iPhone的主接口包括以下自带的应用程序:SMS(短信)、日历、照片、相机、YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算器、备忘录、系统设置、iTunes(将会被链接到iTunes Music Store和iTunes广播目录)、App Store以及联络信息。还有四个位于最下方的常用应用程序包括有:电话、MailSafariiPod[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以及设置;四个位于最下方的常用应用程序是:SafariMail、照片和iPod

iPad 2 增设了相机镜头,所以亦补回了相机、FaceTime应用程序。

Web应用程序

在2007年苹果全球开发者大会上,苹果宣布iPhone和iPod Touch将会通过Safari网络浏览器支持某些第三方应用程序,这些应用程序被称为Web应用程序。它们能通过AJAX网络技术编写出来。[6]

不被Apple支持的第三方软件

iOS上本来只能从App Store用官方的方法安装完整的软件。[7]然而,自iOS起步之日开始,就已经有App Store以外第三方软件可以在iPhone上运行。[8]这些软件面临着被任何一次iOS更新而完全破坏的可能性, 虽然苹果也曾经说明过它不会为了破坏这些第三方软件而专门设计一个系统升级(会将SIM解锁的软件除外)。[9]这些第三方软件发布的方法是通过InstallerCydia utilities,这两个程序会在iPhone越狱之后被安装到iPhone上。

iPhone 软件开发工具包

 

基于Xcode 3.1最终版本的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 最终版(公开版)

SDK的内容

由于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

Core Location是Mac OS X中其中一个软件框架。它主要用来存储应用程序在iOS 2.0检测设备的位置。它作为iPhone软件路线图在2008年3月6日开发者大会上宣布,并成为了iPhone的软件开发包的一部分。

Java

苹果至今仍没有宣布任何让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

Flash Professional CS5内曾经一度被中断开发的iOS软件输出功能,由于现在Apple已经开放第三方开发工具的使用,Adobe已经决定恢复此功能的开发作业。不过Apple目前仍未开放在浏览器内运行Flash内容。现时可以使用iPhone第三方程式jailbreak观看flash动画。

SVG

从iPhone2.1固件开始,iPhone版Safari开始支持SVG。该SVG支持SVG 1.1的编码特征和大部分静态功能。但它的图形界面还不支持SMIL动画。这需要等SMIL引擎足够成熟之后才能被支持。除SVG外,还支持HTML Canvas

参考文献

  1. ^ iPhone OS 4重命名为iOS4 引入微软Bing 新浪科技
  2. ^ 顺应广大子民需求,iPhone OS改名为iOS,iOS 4六月二十一号上路!瘾科技中文版
  3. ^Haslam, Karen. Macworld Expo: Optimised OS X sits on ' versatile' flash. Macworld. January 12, 2007[2007-10-15]. 
  4. ^ Dr. Dobb's. OpenGL and Mobile Devices: Round 2 (OpenGL ES for the iPhone and iPod Touch). 
  5. ^ Apple Inc..iPhone Applications. 2008-07 -10 [2008-07-11]. 
  6. ^ Ziegler, Chris.Apple announces third-party software details for iPhone , Engadget, (2007-06-11), 于2007年6月20日查阅.
  7. ^ Baig, Edward C./edwardbaig/2007-06-26-iphone-review_N.htm Apple's iPhone isn't perfect, but it's worthy of the hype,USA Today, (2007-06-26 )
  8. ^ Healey, Jon. [http:// www.latimes.com/news/opinion/la-oew-healey6aug06,0,3456267.story Hacking the iPhone].Los Angeles Times. 2007-08-06[2007-08-06]. 
  9. ^ Apple's Joswiak: We Don't Hate iPhone Coders
  10. ^ Willis, Nathan. The iPhone SDK and free software: not a match. Linux.com. 2008-04-15 [2008-06-05]. 
  11. ^ Krill, Paul. Sun: We'll put Java on the iPhone. Infoworld. 2008-03-08 [2008-03-08]. 
  12. ^ Krazit, Tom. The iPhone SDK: The day after. CNet. 2008-03-07 [2008-03-29]. 
  13. ^ Krill, Paul. Sun's plan for Java on iPhone could hit roadblock. The Industry Standard. 2008-03-14[2008-03-29]. 
  14. ^ Kizito Kasozi, Emmanuel. Apple, Sun Talks Gives Hope for Java on iPhone. ibtimes.com. 2008-04-28 [2008-08-31]. 
  15. ^ Innaworks announces Java Development Solution for iPhone.Innaworks. 2008-03-28[2008-08-31]. 
  16. ^ Ryan, Block. iPhone processor found: 620MHz ARM CPU. engadget.com. 2007-07-01 [2009-01-02]. 

外部链接

 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页