原网址是: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
组建编号
固件编号
发布日期
支持
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处理器(就像以前的PowerPC或MC680x0),它使用由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以及联络信息。还有四个位于最下方的常用应用程序包括有:电话、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应用程序。
Web应用程序
在2007年苹果全球开发者大会上,苹果宣布iPhone和iPod Touch将会通过Safari网络浏览器支持某些第三方应用程序,这些应用程序被称为Web应用程序。它们能通过AJAX网络技术编写出来。[6]
不被Apple支持的第三方软件
iOS上本来只能从App Store用官方的方法安装完整的软件。[7]然而,自iOS起步之日开始,就已经有App Store以外第三方软件可以在iPhone上运行。[8]这些软件面临着被任何一次iOS更新而完全破坏的可能性,
虽然苹果也曾经说明过它不会为了破坏这些第三方软件而专门设计一个系统升级(会将SIM解锁的软件除外)。[9]这些第三方软件发布的方法是通过Installer或Cydia
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美元。
SDK的内容
由于iOS是从于Mac OS X核心演变而来,因此开发工具也是基于Xcode。
该SDK可分类为下列几大项:
- 触控(Cocoa Touch)
-
多点触控事件和控制(Multi-touch events and controls)
- 加速支持(Accelerometer support)
- 查看等级(View hierarchy)
-
本地化(i18n)(Localization (i18n))
-
相机支持
-
媒体
- 核心服务
-
OS X核心
-
TCP/IP协议
- 套接字(Sockets)
- 电源管理
- 文件系统(File system)
- 安全
和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。
参考文献
-
^
iPhone OS 4重命名为iOS4 引入微软Bing 新浪科技
-
^
顺应广大子民需求,iPhone OS改名为iOS,iOS 4六月二十一号上路!瘾科技中文版
-
^Haslam, Karen.
Macworld Expo: Optimised OS X sits on ' versatile' flash. Macworld. January 12, 2007[2007-10-15].
-
^
Dr. Dobb's.
OpenGL and Mobile Devices: Round 2 (OpenGL ES for the iPhone and iPod Touch).
-
^
Apple Inc..iPhone Applications. 2008-07 -10
[2008-07-11].
-
^ Ziegler, Chris.Apple announces third-party software
details for iPhone , Engadget, (2007-06-11), 于2007年6月20日查阅.
-
^ 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 )
-
^
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].
-
^
Apple's Joswiak: We Don't Hate iPhone Coders
-
^
Willis, Nathan.
The iPhone SDK and free software: not a match. Linux.com. 2008-04-15
[2008-06-05].
-
^
Krill, Paul.
Sun: We'll put Java on the iPhone. Infoworld. 2008-03-08
[2008-03-08].
-
^
Krazit, Tom.
The iPhone SDK: The day after. CNet. 2008-03-07
[2008-03-29].
-
^
Krill, Paul.
Sun's plan for Java on iPhone could hit roadblock. The Industry Standard. 2008-03-14[2008-03-29].
-
^
Kizito Kasozi, Emmanuel.
Apple, Sun Talks Gives Hope for Java on iPhone. ibtimes.com. 2008-04-28
[2008-08-31].
-
^
Innaworks announces Java Development Solution for iPhone.Innaworks. 2008-03-28[2008-08-31].
-
^
Ryan, Block.
iPhone processor found: 620MHz ARM CPU. engadget.com. 2007-07-01
[2009-01-02].
外部链接
分享到:
相关推荐
描述 保持最复杂的iOS用户界面流畅和响应。 欢迎来到Texture-kr。 质地? Texture(又名AsyncDisplayKit)是一个iOS UI框架,用于实现平滑响应的界面。 主键是使用户界面成为线程安全的。 这意味着UI组件的测量和...
C#源代码共享 百度云推送到Android和IOS ,有IOS 和 安卓 具体推送例子 接口详细描述 http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/api/list#push_msg
时间复杂度是衡量算法效率的一个关键指标,它描述了算法执行时间与输入数据量之间的关系。在iOS开发中,当处理的数据量未知或者可能非常大时,优化时间复杂度就显得尤为重要。例如,在一个公开接口中,如果使用了...
描述 StarWars Wiki 它是在 DevRiseWeek 期间开发的一个项目。 主要功能是展示 StarWars 电影和角色,您可以将它们添加到您最喜欢的列表中。 在 5 天内,我们使用 Expo (React Native) 对其进行了编码。 有用的链接...
【各平台iOS(分享功能)接口调研报告】 在当今移动应用开发中,分享功能已经成为...3. 腾讯开放平台 iOS API:[http://wiki.open.qq.com/index.php?title=iOS_API%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E&oldid=46716]...
手动链接-iOS 按照提供的Wiki进行操作 手动链接-Android 按照提供的Wiki进行操作 例子 检查Example文件夹中的 。 特性 Struts 默认 类型 描述 是可见的 true boolean 旋转器的可见性 颜色 #000000 string ...
标题 "iPhone3,1_SHSH_6.1.3(10B329).rar" 和描述中的信息,明显与苹果公司的iPhone设备以及iOS操作系统有关。这里的"SHSH"代表"System Software SHAttered SHadow",是Apple用于验证设备固件升级的一种安全机制。在...
然而,描述中提到了Android的配置步骤。在Android工程中,配置SDK涉及到修改AndroidManifest.xml文件,但这里特别提到使用了一个模板文件AndroidManifest.template.xml。在这个文件中,你需要添加必要的权限声明,以...
描述NeedleAgent是与iOS安全测试框架互补的开源iOS应用程序。 它允许needle以编程方式在设备上本地执行任务,而无需第三方工具。 代理充当服务器的角色,该服务器侦听来自needle(或任何其他TCP客户端)的TCP连接。 ...
- **Git仓库**:GitHub和GitLab等版本控制系统支持Markdown,方便创建项目Wiki和Issue描述。 4. **Markdown编辑器** - **在线编辑器**:像Dillinger和Typora这样的在线工具,实时预览Markdown效果。 - **桌面...
在开始集成前,首先访问微信支付官方文档(https://pay.weixin.qq.com/wiki/doc/api/index.html)下载适用于iOS的SDK及示例项目。按照文档指示,将SDK导入到你的Xcode项目中,确保所有必要的库和框架被正确引用。 ...
如果是移动应用,我们可能会涉及Android的Java或Kotlin,或者iOS的Swift或Objective-C。 另外,源码中可能包括版本控制(如Git)、自动化构建(如Webpack或Gradle)、测试框架(如JUnit或Mocha)、部署策略(如...
描述中提到了“vimwiki格式”,Vimwiki是一个在Vim编辑器中创建和管理wiki的工具。Vimwiki文件通常以".wiki"为扩展名,可以用来记录笔记、创建待办事项列表等。在这个上下文中,"index.wiki"很可能是这个项目的主...
厨师系统Chef System是一款基于IONIC 2框架的应用程序开发,用于管理餐厅 欢迎来到Chef-System Wiki!描述Chef-System是一个完整的应用程序,您可以在其中通过手机管理餐厅的账单。 该应用程序尚未完成,但包含3个...
介绍LambdaNative是用Scheme( )编写的开源(经BSD许可)跨平台开发环境,支持Android,iOS,BlackBerry 10,OS X,Linux,Windows,OpenBSD,NetBSD,FreeBSD和OpenWrt。 如果您在自己的工作中使用LambdaNative...
9. **文档与示例**:虽然描述中并未提及具体的文档或示例,但通常开源项目会提供README文件或wiki页面,详细介绍如何使用和配置DKScrollingTabController,有时还会附带简单的演示项目。 总之,...
macOS Server for macOS 和 iOS 设备而设计,让你能轻松共享文件,安排会议,同步通讯录,开发软件,托管自己的网站,发布 Wiki,配置 Mac、iPhone 和 iPad 设备,远程访问网络,还可做到更多。 macOS Server 是...
根据标题“f.c.e365中英对照”及描述中的信息,我们可以得知这是一款名为“f.c.e365”的软件,主要为苹果手机用户提供了一套完整的中英文对照表,方便用户理解各项功能和技术术语。该软件涵盖了多个用于管理和恢复...
Libgdx是一个跨平台的游戏开发框架,用于创建桌面、Android、iOS等平台的应用程序。 libgdx提供了丰富的功能,包括2D/3D图形渲染、物理引擎、音频处理、输入管理等,非常适合开发游戏或交互式应用。如果项目使用了...