IPhone OS
出自ZOZ Wiki
Template:Lowercase iPhone OS 或 OS X iPhone是由苹果公司为iPhone开发的操作系统。它主要是给iPhone和iPod touch使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。iPhone OS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概512MB的存储空间。
目录 |
用户界面
iPhone OS的用户界面的概念基础上是能够使用多点触控直接操作。控制方法包括滑动,轻触开关及按键。与系统互动包括滑动(swiping),轻按(tapping),挤压(pinching)及旋转(reverse pinching)。此外,通过其内置的加速器,可以令其旋转装置改变其y轴以令屏幕改变方向,这样的设计另iPhone更便于使用。
屏幕的下方有一个home按键,底部则是dock,有四个用户最经常使用的程序的图标被固定在dock上。屏幕上方有一个状态区能显示一些有关数据,如时间﹑电池电量和信号强度等。其余的屏幕用于显示当前的应用程序。启动iPhone应用程序的唯一方法就是在当前屏幕上点击该程序的图标,退出程序则是按下屏幕下方的home键。在第三方软件退出后,它直接就被关闭了,但在即将到来的iPhone 3.0版本中,当第三方软件收到了新的信息时,苹果公司的服务器将把这些通知推送至iPhone或iPod Touch上(不管它是否正在运行中)。在iPhone上,许多应用程序之间都是有联系的,这样,不同的应用程序能够分享同一个信息(如当你收到了包括一个电话号码的短信息时,你可以选择是将这个电话号码存为联络人或是直接选择这个号码打一通电话)。
支持的软件
iPhone和iPod Touch使用基于ARM架构的中央处理器 ,而不是苹果的麦金塔计算机使用的x86处理器(就像以前的PowerPC或MC680x0),它使用由PowerVR 视屏卡渲染的OpenGL ES 1.1<ref>Template:Cite web</ref>.。因此,Mac OS X 上的应用程序不能直接复制到iPhone OS上运行。他们需要针对iPhone OS的ARM重新编写。但就像下面所提到的,Safari 浏览器支持"Web应用程序" 。从iPhone OS 2.0开始,通过审核的第三方应用程序已经能够通过苹果的App Store进行发布和下载了。
iPhone OS自带的应用程序
在2.2版本的固件中,iPhone的主界面包括包括以下自带的应用程序: SMS (简讯)、日历、照片、相机、 YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算机、备忘录、系统设定、iTunes (将会被链接到iTunes Music Store和iTunes广播目录)、App Store以及联络资讯。还有四个位于最下方的常用应用程序包括有:电话、Mail、Safari和iPod。<ref>Template:Cite web</ref>
除了电话、简讯、和相机,iPod Touch保留了大部分iPhone自带的应用程序。iPhone上的"iPod"程序在iPod Touch上被分成了两个:音乐和视讯。位于主界面最下方dock上的应用程序也根据iPod Touch的主要功能而改成了:音乐、视讯、照片和iTunes。
Web应用程序
在2007年苹果全球开发者大会上,苹果宣布iPhone和iPod Touch将会通过Safari互联网浏览器支持某些第三方应用程序, 这些应用程序被称为Web应用程序。它们能通过AJAX互联网技术编写出来。<ref>Ziegler, Chris. Apple announces third-party software details for iPhone, Engadget, (2007-06-11)Template:Accessdate</ref>
不被苹果官方支持的第三方软件
现在,iPhone和iPod Touch只能从App Store用官方的方法安装完整的软件.<ref>Baig, Edward C. Apple's iPhone isn't perfect, but it's worthy of the hype, USA Today, (2007-06-26)Template:Accessdate</ref> 然而,自从1.0 版本开始,非法的第三方软件就能在iPhone上运行了。<ref>Template:Cite news</ref> 这些软件面临着被任何一次iPhone OS更新而完全破坏的可能性, 虽然苹果也曾经说明过它不会为了破坏这些第三方软件而专门设计一个系统升级(会将SIM解锁的软件除外)。<ref>Apple's Joswiak: We Don't Hate iPhone Coders</ref> 这些第三方软件发布的方法是通过Installer或Cydia utilities,这两个程序会在iPhone越狱之后被安装到iPhone上。
iPhone OS 软件开发工具包
2007年10月17日,史提夫•贾伯斯在一封张贴于苹果公司网页上的公开信上宣布软件开发工具包。它将在2008年2月提供给第三方开发商。软件开发工具包于2008年3月6日发布,并允许开发人员开发iPhone和iPod touch的应用程序,并对其进行测试,名为“ iPhone手机仿真器” 。然而,只有在付出了iPhone手机开发计划的费用后,应用程序才能发布。自从Xcode 3.1 发布以后, Xcode就成为了iPhone软件开发工具包的开发环境。
软件开发工具包的历史
在2008年3月6日,iPhone OS的软件开发工具包在苹果大会堂会议正式宣布。第一个Beta版本是iPhone OS 1.2b1(build 5A147p)它在发布后立即就能够使用了,但是同时推出的App Store所需要的固件更新则直到2008年7月11日才发布。对于iPhone用户,这个更新是免费的;然而,iPod touch的用户则需要为更新付出9.99美元。
| 发布日期 | 版本编号 | 更改 |
|---|---|---|
| 2008年3月27日 | 2.0b2 Beta 2 | 首发,发布iPhone OS 2.0b2 (build 5A225c) |
| 2008年4月8日 | 2.0b3 Beta 3 | 发布iPhone OS 2.0b3 (build 5A240d) |
| 2008年4月23日 | 2.0b4 Beta 4 | 发布iPhone OS 2.0b4 (build 5A258f) |
| 2008年5月6日 | 2.0b5 Beta 5 | 发布iPhone OS 2.0b5 (build 5A274d) |
| 2008年5月29日 | 2.0b6 Beta 6 | 发布iPhone OS 2.0b6 (build 5A292g) |
| 2008年6月19日 | 2.0b7 Beta 7 | 发布iPhone OS 2.0b7 (build 5A331) |
| 2008年6月26日 | 2.0b8 Beta 8 | 发布iPhone OS 2.0b8 (build 5A345) |
| 2008年7月24日 | 2.1 Beta 1 | 发布iPhone OS 2.1 (build 5F90) |
| 2008年7月30日 | 2.1 Beta 2 | 发布iPhone OS 2.1 |
| 2008年8月8日 | 2.1 Beta 3 | 发布iPhone OS 2.1 |
| 2008年9月25日 | 2.2 Beta 1 | 发布iPhone OS 2.2 (Build 5G29) |
| 2008年11月20日 | 2.2 | 发布iPhone OS 2.2 (build 9M2621) |
| 2009年1月27日 | 2.2.1 | 发布iPhone OS 2.2.1 (build 9M2621a) |
| 2009年3月17日 | 3.0 Beta 1 | 发布iPhone OS 3.0的预览版及 SDK 3.0的测试版 |
| 2009年3月31日 | 3.0 Beta 2 | 发布iPhone OS 3.0的预览版 |
| 2009年4月14日 | 3.0 Beta 3 | 发布iPhone OS 3.0的预览版 |
| 2009年4月28日 | 3.0 Beta 4 | 发布iPhone OS 3.0的预览版 |
SDK的内容
由于iPhone是基于一个能够在Mac OS X中发现的XNU核心的一个变种,正在发展中的iPhone工具也是基于Xcode。 该SDK是细分为下列规定:
- 触控(Cocoa Touch)
- 媒体
- 核心服务
- OS X核心
和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 授权的应用软件的同时必须提供由苹果公司提供的密匙以允许该软件修改版本的上载。<ref>Template:Cite web</ref>
核心位置(内核地址)
Core Location是Mac OS X中其中一个软件框架。它主要用来储存应用程序在iPhone OS 2.0检测设备的位置。它作为iPhone软件路线图在2008年3月6日开发者大会上宣布,并成为了iPhone的软件开发包的一部分。
Java
苹果至今仍没有宣布任何让iPhone运行Java的计划。但太阳计算机系统公司已宣布其将会发布能在iPhone上运行的Java虚拟机 (JVM)的计划,它是基于Java的Micro Edition版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行。<ref>Template:Cite web</ref>
在这个计划发表之后,熟悉iPhone OS 软件开发协议的程序员们相信虽然iPhone OS 软件开发协议不允许应用程序后台运行 (比如说在接电话的时候仍然运行程序),<ref>Template:Cite web</ref> 但却允许自带的应用程序从其它的来源下载代码,而且它们还能与第三方应用程序相互作用(比如说Safari和Java虚拟机), 这可能会阻碍不与苹果合作的Java虚拟机的发展<ref>Template:Cite web</ref>。 很明显,在iPhone运行的Java在iPhone OS 软件开发协议所规定的范畴以外。这个条列是规定3.3.2,其内容如下:
然而,一些iPhone使用者已经表明通过越狱的方式,iPhone能安装和运行Java ME 。 在iPhone使用Java的可能性通过太阳计算机系统公司和苹果的会谈逐渐透露了出来, 目前太阳计算机公司正通过一个叫做Innaworks的公司为此目标而进行努力。<ref>Template:Cite web</ref><ref>Template:Cite web</ref>. 奇怪的是, iPhone使用的ARM处理器自身包括一个Java内置的硬件加速环境。<ref>Template:Cite web</ref>.
Flash
iPhone OS不支援Flash。Adobe计划在iPhone发行第三方Flash Lite软件程序,但现时仍未有计划。以现时来说,只支持标准Flash。现时可以使用iPhone第三方程式jailbroken观看flash动画。
SVG
从iPhone2.1固件开始,iPhone版Safari开始支持SVG。该SVG支持SVG 1.1的编码特征和大部分静态功能。但它的图形界面还不支持SMIL动画。这需要等SMIL引擎足够成熟之后才能被支持。除SVG外,还支持HTMLCanvas。
参考文献
<references />
外部连结
- iPhone Dev Center - 苹果开发人员连接网站
- iPhone OS Overview 苹果公司(需要开发商登记)
- 原文出自[[1]]

