iPhone OS是由苹果公司为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的存储空间。

SDK内容

  由于iPhone是基于一个能够在Mac OS X中发现的XNU核心的一个变种,正在发展中的iPhone工具也是基于Xcode。 该SDK是细分为下列规定:   触控(Cocoa Touch)   多点触控事件和控制(Multi-touch events and controls)   加速支援(Accelerometer support)   查看等级(View hierarchy)   地方化(i18n)(Localization (i18n))   相机支持   媒体   OpenAL

iPhone OS

混音及录音(Audio mixing and recording)   视频播放   图像文件格式(Image file formats) Quartz Core Animation OpenGL ES 核心服务   网络   SQLite嵌入式数据库   地理位置(GeoLocation)   线程(Threads) 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都不被支持。   和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 授权的应用软件的同时必须提供由苹果公司提供的密匙以允许该软件修改版本的上载。

内核地址

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

用户界面

用户界面

  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.。因此,Mac OS X 上的应用程序不能直接复制到iPhone OS上运行。他们需要针对iPhone OS的ARM重新编写。但就像下面所提到的,Safari 浏览器支持"Web应用程序" 。从iPhone OS 2.0开始,通过审核的第三方应用程序已经能够通过苹果的App Store进行发布和下载了。   JAVA 苹果至今仍没有宣布任何让iPhone运行Java的计划。但太阳计算机系统公司已宣布其将会发布能在iPhone上运行的Java虚拟机 (JVM)的计划,它是基于Java的Micro Edition版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行。   在这个计划发表之后,熟悉iPhone OS 软件开发协议的程序员们相信虽然iPhone OS 软件开发协议不允许应用程序后台运行 (比如说在接电话的时候仍然运行程序), 但却允许自带的应用程序从其他的来源下载代码,而且它们还能与第三方应用程序相互作用(比如说Safari和Java虚拟机), 这可能会阻碍不与苹果合作的Java虚拟机的发展。 很明显,在iPhone运行的Java在iPhone OS 软件开发协议所规定的范畴以外。这个条列是规定3.3.2,其内容如下: 无论如何,应用程序都不能自己安装或者启动其他任何可执行的代码, 包括没有限制的插件架构的使用,别的架构,应用程序接口或者其他任何形式。除了苹果发行的应用程序接口和内置的解释器,所有翻译码都不能经应用程序下载或使用。   然而,一些iPhone使用者已经表明通过越狱的方式,iPhone能安装和运行Java ME 。 在iPhone使用Java的可能性通过太阳计算机系统公司和苹果的会谈逐渐透露了出来, 目前太阳计算机公司正通过一个叫做Innaworks的公司为此目标而进行努力。[奇怪的是, iPhone使用的ARM处理器自身包括一个Java内置的硬件加速环境。   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。

自带应用程序

  在2.2版本的固件中,iPhone的主界面包括包括以下自带的应用程序: SMS (简讯)、日历、照片、相机、 YouTube(国行的iphone没有此功能)、股市、地图(AGPS辅助的Google地图)、天气、时间、计算机、备忘录、系统设定、iTunes (将会被链接到iTunes Music Store和iTunes广播目录)、App Store以及联络资讯。还有四个位于最下方的常用应用程式包括有:电话、Mail、Safari和iPod。

iPhone

除了电话、简讯、和相机,iPod Touch保留了大部分iPhone自带的应用程序。iPhone上的"iPod"程序在iPod Touch上被分成了两个:音乐和视讯。位于主界面最下方dock上的应用程序也根据iPod Touch的主要功能而改成了:音乐、视讯、照片和iTunes。

Web应用程序

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

相关第三方软件

  现在,iPhone和iPod Touch只能从App Store用官方的方法安装完整的软件.然而,自从1.0 版本开始,非法的第三方软件就能在iPhone上运行了。这些软件面临着被任何一次iPhone OS更新而完全破坏的可能性, 虽然苹果也曾经说明过它不会为了破坏这些第三方软件而专门设计一个系统升级(会将SIM解锁的软件除外)。这些第三方软件发布的方法是通过Installer或Cydia utilities,这两个程序会在iPhone越狱之后被安装到iPhone上。

编辑本段相关资料

软件开发工具包

  2007年10月17日,史提夫·乔布斯在一封张贴于苹果公司网页上的公开信上宣布软件开发工具包。它将在2008年2月提供给第三方开发商。软件开发工具包于2008年3月6日发布,并允许开发人员开发iPhone和iPod touch的应用程序,并对其进行测试,名为“ iPhone手机模拟器” 。然而,只有在付出了iPhone手机开发计划的费用后,应用程序才能发布。自从Xcode 3.1 发布以后, Xcode就成为了iPhone软件开发工具包的开发环境。

其他信息

  苹果公司在iPhone4发布的同时宣布,把iPhone OS3操作系统的升级版本更名为iOS 4。   现在的ios5系统一改以前的单任务模式,支持多任务,并添加无线同步等功能。

了解iPhone OS相关推荐

  1. 什么是Nib文件?(Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口)...

    Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口.Nib文件是Interface Builder文档.通常您会使用Interface Builder ...

  2. iPhone OS框架 介绍

    表16-2描述了iPhone OS设备的框架,它们位于目录<Xcode>/Platforms/iPhoneOS. platform/Developer/SDKs/<iPhoneSDK ...

  3. iPhone开发进阶(1) --- 深入理解iPhone OS/SDK与Objective-C 2.0

    iPhone开发进阶(1) --- 深入理解iPhone OS/SDK与Objective-C 2.0 工欲善其事,必先利其器.在开发iPhone应用程序的时候,深入理解iPhone OS/SDK与O ...

  4. iPhone OS 4.0发布 苹果手机进入多任务时代

    新浪科技讯 北京时间4月9日凌晨1时消息,苹果今天在美国加州Cupertino公司总部的Town Hall大厅举行了iPhone OS 4的发布会,乔布斯亲自出席.此次iPhone OS 4固件发布新 ...

  5. iPhone OS 4发布:支持多任务

    北京时间4月9日凌晨1时消息,苹果今天在美国加州Cupertino公司总部的Town Hall大厅举行了iPhone OS 4的发布会,乔布斯亲自出席.此次iPhone OS 4固件发布新浪数码利用新 ...

  6. 浅谈iPhone OS(iOS)架构

    iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统 1,Core OS: 是用FreeBSD和Mach所改写的Darwin, 是开源.符合POSIX ...

  7. 了解iPhone OS框架

    原文链接:http://www.pczgc.com/iphone/201108/38676.html Phone OS框架是本文要介绍的内容,iPhone OS(现在叫iOS)是iPhone, iPo ...

  8. iPhone OS编程指南(一)

    原文地址:iPhone OS编程指南(一)作者:若水一叶 介绍 请注意:本文档之前命名为iPhone OS编程指南. iPhoneSDK为创建iPhone的本地应用程序提供必需的工具和资源.在用户的H ...

  9. iphone OS、Android、Blackberry OS与Palm OS的比较

    下文转自:http://article.yeeyan.org/view/163648/119457 -------------------------------------------------- ...

最新文章

  1. 暑期集训1:C++STL 练习题A:POJ-1833
  2. 第十九章 代码重用 5包含对系统的消耗
  3. FPGA逻辑设计回顾(6)多比特信号的CDC处理方式之异步FIFO
  4. 第 4 节:前端面试指南 — JavaScript篇
  5. 跟着内核学框架-从misc子系统到3+2+1设备识别驱动框架
  6. SpringCloud工作笔记048---RESTful API 中 HTTP 状态码的定义_以及把RESTFul版本号_放到http协议header中_以及RestFul设计时的两个误区
  7. linux系统vi编辑器按esc没反应,关于ubuntu14.04版本vi编辑模式按下ESC无法回到一般模式的问题...
  8. 金山要剥离WPS词霸等,会不会是Google的一大阴谋?!
  9. sqlserver tvps java_中毒了,请高手看一下诊断报告。
  10. 60个超实用的网络技能学习平台
  11. .netnbsp;C#实现nbsp;中文转Unic…
  12. Vue路由,关于地址栏没有问题,router-view是一片空白
  13. 外贸邮箱企业邮箱,免费外贸企业邮箱大全,外贸企业邮箱都有哪些?
  14. TypeScript(八)装饰器
  15. MySql 格式化时间(包括正常时间格式与unix时间戳的互相转换)
  16. 我是如何拿到腾讯offer的(干货面经+经验分享)
  17. 从汇编到太空——保罗·艾伦
  18. 小符MYSQL的笔记
  19. 融云荣获创业邦数字化服务创新奖
  20. 智慧城市:社会综合治理平台建设解决方案

热门文章

  1. 吃瓜进行时(西瓜书南瓜书啃读)
  2. 转:jQuery框架学习第一天:开始认识jQuery
  3. SVN提交代码冲突解决方法总结
  4. Gephi 网络可视化——导入网络结构
  5. HCIA课程学习笔记
  6. keystore 介绍
  7. win10无法枚举容器中的对象 访问被拒绝
  8. Linux虚拟服务器-LVS-集群技术
  9. 无法枚举容器中的对象,访问被拒绝的解决方法
  10. Android开发技术周报 Issue#88