iOS是苹果公司为其移动设备所开发的专有移动操作系统,为其公司的许多移动设备提供操作界面,支持装置包括iPhone、iPad和iPod touch。iOS在iOS 4.0发布前名为iPhone OS,iPad版本则于iOS 13起独立为iPadOS。iOS是继Android后全球第二大最受欢迎的移动操作系统,市占率于2022年2月已达约28.3% ,但仍然低于最多厂商使用的Google开发的Android系统的71%[8]。
开发者 | 苹果公司 |
---|---|
编程语言 | |
操作系统家族 | 基于Darwin(BSD)的类Unix系统、macOS |
运作状态 | 活跃 |
原始码模式 | 闭源(含有开源组件) |
首次发布 | 2007年6月29日 |
当前版本 |
|
最新预览 | 16.3 RC[2] (20D47)[3](2023年1月18日 )[±] |
支持的语言 | 40种语言[4][5][6][7] |
更新方式 | iTunes、访达或OTA(iOS 5以后) OTA(iOS 13和iPadOS以及更高版本) |
支持平台 |
|
内核类别 | 混合核心(XNU) |
默认用户界面 | Cocoa Touch(多点触控GUI) |
许可证 | 专有软件最终用户许可协议(开源组件除外) |
官方网站 | Apple |
有关这系列的条目 | |
iPhone iPhone OS 2 iPhone OS 3 iOS 4 iOS 5 iOS 6 iOS 7 iOS 8 iOS 9 iOS 10 iOS 11 iOS 12 iOS 13 iOS 14 iOS 15 iOS 16 iOS 17 iOS 18 iPadOS macOS watchOS |
2007年,iOS随iPhone亮相首次推出,并扩展至支持其他苹果公司的装置,如iPod touch(2007年9月)及iPad(2010年1月)。截至2018年3月,苹果公司的App Store已提供超过210万个iOS应用程式,当中有100万个是适用于iPad的原生应用程式[9]。这些移动应用程序的下载总量已超过1,300亿次。
iOS的用户界面是使用多点触控来直接操作。界面操控元素包括滑动条、开关及按钮。跟操作界面的控制包括滑动、点击、扭捏及反向扭捏。这些所有都在iOS操作系统及其多点触控界面中有具体的定义。内建的速度传感器能够被某些应用程式使用,当装置摇动时以作出回应(可用于辅助功能“摇动以取消”),或以三维方式旋转(常见于切换纵向及横向之间的屏幕模式)。苹果公司也把辅助功能集成到iOS中,让有视力或听力障碍的用户能够在无障碍环境下正确使用其产品,而获得极大的赞赏。
iOS的主要版本通常每年发布一次。目前的最新版本是iOS 18。由于iPad独立成为iPadOS,且已停产的iPod Touch第七代也不支持更新,所以iOS 16之后的版本成为实质上的iPhone OS。
历史
2005年,当史蒂夫·乔布斯开始筹备iPhone时,他可以选择“把Mac缩小,这将会是工程学上一个史诗般的壮举,或是把iPod扩大”。乔布斯赞成前者的做法,但仍然让麦金塔及iPod团队(分别由史考特·福斯托及托尼·法戴尔所领导)在公司内部互相竞争,最终由麦金塔团队创建的iPhone OS胜出。这个决定成功使iPhone成为了第三方开发者乐于参与的平台,因为他们花费很小的学习成本就能为建立于著名系统Mac上的iPhone OS创造程序。福斯托还负责创建用于开发iPhone应用程式的软件开发工具包,以及设在iTunes内的App Store[10][11]。
2007年1月9日,苹果公司于Macworld开发者大会上为iOS揭幕(当时命名为iPhone OS),并宣布于同年6月推出[12][13][14]。在1月揭幕时,乔布斯称:“iPhone运行OS X,并且可使用‘桌面应用程式’[15][16]”,然而在iPhone发布时,其操作系统被重命名为“iPhone OS”[17]。最初,本机应用程式并不支持第三方的应用程式。乔布斯的理由是,开发者可以透过Safari浏览器网页浏览器构建Web应用程式,“就像iPhone上的原生应用程式一般[18][19]”。2007年10月,Apple宣布正在开发一个软件开发工具包,并且他们计划在次年2月把它提供给开发人员[20][21][22]。2008年3月6日,苹果公司举行了一场新闻发布会,宣布推出iPhone SDK[23][24]。
App Store于2008年7月10日开放,最初提供了500个应用程式[25]。2008年9月,这一数字很快便增加到3,000个[26],2009年1月有15,000个[27],2009年有50,000个[28],2009年11月更达到100,000个[29][30],2010年8月有250,000个[31][32],2012年7月有650,000个[33],2013年10月有100万个[34][35],2016年6月有200万个[36][37][38],2017年1月更达到220万个[39][40]。截至2016年3月[update],有100万个应用程式本身与iPad平板电脑兼容[41],这些应用程式共下载了超过1,300亿次[36]。应用情报公司Sensor Tower估计,到了2020年,App Store将达到500万个应用程式[42]。
2007年9月,苹果公司发布了iPod touch,那是基于iPhone的外形而重新设计的iPod[43]。2010年1月,苹果公司发布了iPad,其屏幕较iPhone及iPod Touch更大,并专为网页浏览、媒体消费和阅读而设[44]。
2010年6月,苹果公司于全球开发者大会2010中,宣布把iPhone OS重命名为“iOS”。然而思科系统沿用“iOS”的商标作为其路由器的操作系统已有十多年,为了避免任何潜在的诉讼,苹果公司从思科获得“iOS”商标的拥有权[45]。
2014年9月9日,蒂姆·库克发布了Apple Watch智慧手表,其使用基于iOS的watchOS作为操作系统,具有健康和健身追踪等功能[46][47]。
2016年10月,苹果公司在拿坡里那不勒斯弗里德里希二世大学的新院校内开设了首个iOS开发者学院[48][49]。截至2020年,学院已有来自世界各地的近1000名学生毕业,他们参与了400余个app的构思设计并在App Store上实际发布了约50个应用程式。
2019年6月3日,在WWDC 2019中苹果公司宣布将iPadOS从iOS中独立。
苹果公司透过iTunes每年为iOS操作系统提供重大更新,自iOS 5及更高版本起,都可透过
iOS必须经过苹果伺服器进行验证才能于iTunes更新(iOS 5及以上版本亦可透过iCloud进行验证),自动同步后便可使用[52]。
在2013年的WWDC上,苹果公司发布了iOS 7,此版本彻底改变了用户界面,使原本的拟物化的风格转变为平面化风格。
最初,iPod Touch用户必须支付系统软件更新的费用,这是由于会计规则使装置不能如iPhone或Apple TV那样的“订阅装置”,需要对装置的重大更新进行付款[53][54]。然而,要求升级付费导致iPod Touch用户远离更新[55]。在2009年9月,苹果公司暂准了会计规则的变更,此对Apple的收益和股价有着显著影响,并容许iPod Touch获得免费更新[56][57]。
目前iOS最新版本为2024年6月5日WWDC24发布的iOS 18以及iPadOS 18,后者为苹果专门为iPad系列装置优化的分支。
用户能够透过SpringBoard来呈现的主屏幕,用户可在屏幕底部的程序坞上显示固定最常用的应用程式的图标。每当用户为装置解锁,或使用应用程式时按下物理的主页键按钮,主屏幕都会出现[58]。在iPhone OS 3中,引入了聚焦,它让用户搜索装置内的媒体、应用程式、电邮、联系人、信息、提醒事项、日历事项及相关的内容。从iOS 3.2开始,用户可以设置主屏幕的背景图片,此功能仅适用于第三代装置 — iPhone 3GS、第三代iPod touch(iOS 4或更高版本)、自iOS 3.2起的所有iPad型号(或更高型号)。研究人员发现,用户在其主屏幕上可根据应用程式的使用频率和相关性,以及其可用性和美学等原因而自行组织图标[59]。
在iPhone 3GS上的iOS 4(或更高版本)之前,用户只能透过越狱来自定屏幕的背景,但现在可以开箱即用。屏幕顶部有一个状态栏,用以显示如时间、电量及信号强弱的数据。屏幕的其余部分用于显示现时的应用程式。当密码被设置时,用户打开当装置就必须在
iOS18 允许用户更加自由地更改自己的主页面,包括但不限于允许更改程序图标和小部件的颜色、排列方式和大小。同时,iOS还允许用户隐藏或上锁自己的应用。[65]
iOS最初使用Helvetica和华文黑体(旧字形)作为系统字体。苹果公司专门为iPhone 4及其Retina显示器切换到Helvetica Neue和华文黑体(新字形)字体,并保留它作为适用于iOS 4上旧版iPhone的系统字体[66]。在iOS 7中,苹果公司宣布他们将系统字体变更为Helvetica Neue Light及华文细黑体,此决定引发了对于低分辨率的流动屏幕使用较轻薄的字体是不恰当的批评,最终苹果公司选择以Helvetica Neue和华文黑体字体代替[67][68]。iOS 7的发布还介绍了在设置的无障碍设置来对应用其他形式的文本进行缩放的能力[69][70]。在iOS 9中,苹果公司将字体转为San Francisco及苹方体,那是由苹果公司设计的字体,旨在最大限度地提高其产品阵容的易读性及字体的一致性[71][72]。
在iOS 4中引入了文件夹的功能,用户可以透过将应用程式拖放到另一个上面来创建,从那时起,用户可运用相同的程序来把多个项目加到文件夹中,文件夹的标题名称可由当中大部分应用程式的类别来自动选择,但名称也可由用户自行编辑[73]。当文件夹中的应用程式有通知标记时,文件夹会把各个通知数量相加,其总数会出现为文件夹的通知标记[73]。最初,iPhone上的文件夹最多可包含12个应用程式,而iPad上的文件夹可能包含20个[74]。随着越来越新的iPhone硬件上显示尺寸有所增加,iOS 7更新了文件夹页面,使它跟主屏幕布局相类似,从而大大的扩展了文件夹功能。文件夹的每个页面最多可包含9个应用程式,文件夹内可有15页,一个文件夹总共可包括135个应用程式[75]。在iOS 9中,苹果公司更新了iPad硬件中文件夹的大小,文件夹仍然是维持15页,然而每页可容纳16个应用程式一个文件夹总共可包括240个应用程式[76]。
在iOS 5之前,通知都是在
当应用程式在闲置时获得通知,其图标上会出现一个红色徽章,此徽章一目了然地告知用户该应用程式有多少个通知事项。当用户打开应用程式便能清除徽章。
iOS提供各种辅助功能,以协助有视力和听力障碍的用户。有一项主要功能称为“VoiceOver”,它在屏幕上提供语音朗读信息的功能,包括上下文按钮、图标、链接及其他用户界面的元素,允许用户透过手势操作来导航操作系统。任何具有默认操控及开发以UIKit框架下的应用程式都会获得内建VoiceOver的功能[78]。其中一个例子是拿起iPhone拍照,VoiceOver会描述照片里的风景[79]。随着2013年iOS 7的发布而推出作为“iPhone专用”计划的一部分,苹果公司开发了使用蓝牙和一种特殊的技术协议,让iPhone和iPad能够连接兼容的第三方配件,使流式音频能够直接发送到用户的耳朵。额外定制适用于“iPhone专用”的产品包括电池跟踪及适用于不同环境的可调声音设置[80][81]。苹果公司为2016年发布iOS 10进一步努力实现其辅助功能,VoiceOver上加入新的发音编辑器,以及加入透过装置上的相机来实现放大镜的功能,听障人士可通过电信装置的软件(TTY)在iPhone上拨打电话,并为第三方开发人员提供教程和指南,以便将适当的辅助功能合并到他们的应用程式当中[82]。
《大西洋》的利亚·科尔诺斯基(Liat Kornowski)写道:“自点字的发明以来,iPhone已经成为最具革命性的发展之一[83] ”;2016年,《TechCrunch》的史蒂芬·阿基诺(Steven Aquino)形容苹果公司正“引领辅助技术的方式”;苹果公司的全球无障碍政策和倡议高级经理的莎拉·客林格尔(Sarah Herrlinger)指:“我们将辅助功能视为一项基本人权。我们以支持包容世界的愿景来建设我们产品的核心,机会和获取信息都是无障碍的,使残疾人士能够实现他们自己的目标[84]”。
iOS18,眼动追踪使人们可以仅用眼睛控制 iPhone。Music Haptics 将 iPhone Taptic Engine 与歌曲节奏同步,以便耳聋或听力有障碍的人可以欣赏 Apple Music 。
多工作业是2010年6月随着iOS 4一起推出的功能[85][86],亦只有某些装置支持多工作业,如iPhone 3GS、iPhone 4、及第三代iPod Touch[87]。直至同年11月推出的iOS 4.2.1,iPad才开始支持多工作业[88]。现时,iPhone 3GS以上、第3代iPod touch以上,以及所有iPad型号都支持多工作业[89]。
在iOS中实行多工作业一直受到批评,因为其方式限制了应用程式于背景工作只能执行有限的功能集,并要求应用程式的开发人员为其增加明确支持[87][90]。
在iOS 4之前,多工作业仅限于包括在苹果公司的装置上可选择的应用程式,然而用户可以透过在装置上“越狱”来进行非正式的多工作业[91]。从iOS 4开始,在第三代及以上的iOS装置上,有七个背景应用程序接口支持多工作业[92]:
- 背景音乐 — 只要音频或视频内容仍在播放,应用程式便会在背景继续执行[93];
- IP语音 — 当电话未在进行时,应用程式会暂停[93];
- 背景位置 — 当位置更改时,应用程式会获得通知[93];
- Apple推送通知服务
- 本机通知 — 应用程式会安排在预定时间发送本机通知[93];
- 任务完成 — 应用程式会要求系统给予额外的时间来完成分派的任务[93];
- 应用程式快速切换 — 应用程式并不会执行任何代码,并且随时可以从存储器中删除[93];
iOS 5引入了三个新的后台应用程序接口:
- 报亭 — 应用程式可以在后台把内容下载,为用户做好准备[93];
- 外置配件 — 应用程式跟外置配件互通信息,并定期共享数据[93];
- 蓝牙配件 — 应用程式与蓝牙配件互通信息,并定期共享数据[93]。
在iOS 7中,苹果公司推出了一项新的多工作业功能,为所有应用程式提供背景更新的功能。此功能在没有显著降低装置的电池寿命下,会选择以WiFi网络而不是蜂窝网络去更新用户最常用的应用程式。
在iOS 4.0到iOS 6.x中,双击主页按钮便可激活应用程式切换器。从底部出现类似于dock的可滚动界面,向上拨就能移动屏幕的内容。选择图标就能切换其应用程式。最左边的是用作控制音乐及旋转锁定的图标,而在iOS 4.2及以上版本中,还有控制音量的图标。
随着iOS 7的推出,双击主页按钮仍能激活应用程式切换器。它跟以前的版本不同的是,图标上方会显示打开的应用程式的屏幕截图,水平滚动能浏览早前使用的应用程式,并且可以透过拖动来把它关闭,类似于WebOS处理多张卡片的方式[94]。iOS 8中则会在屏幕截图上方显示常用联系人。
随着iOS 9的推出,应用程式切换器有显著的视觉上变化;虽然它仍保留了iOS 7中引入的卡片比拟,应用程式的图标较小,并且出现于屏幕截图的上方(由于删除了“最近及最喜欢的联络人”,使现在的它更大),并且每个应用程式的“卡片”与其他的互相重叠,在用户滚动时形成转动的效果。现在,主屏幕并非出现在应用程式切换器的最左侧,而是在最右侧[95]。
在iOS 11中,应用程式切换器获得大大的重新设计。在iPad中,控制中心与应用程式切换器结合在一起,iPad的应用程式切换器也可以从屏幕底部向上滑动来进入。在iPhone中,若RAM中没有应用程式,则无法进入应用程式切换器。
从iOS 12开始,iPad版本的应用切换器与控制中心分离,且与iPhone一样在无后台应用的状况下无法启动。
在无Home键的iPhone以及运行iOS11及以后系统的iPad,进入应用切换器的方法是从屏幕底部上滑停顿。
在iOS 4至iOS 6中,用户可在主屏幕按住应用程式的图标使它们“摇晃”,然后点击出现在图标角落处的红色减号圆圈就能把应用程式删除[96]。在iOS 7中,用户只需把应用程式向上滑动至离开屏幕即可关闭。iOS 7以上的版本可以用多个手指清除多个应用程式[97]。
任务完成允许应用程式在它被暂停后仍然继续执行某项任务[98][99]。从iOS 4.0开始,应用程式最多可以请求在背景操作10分钟以完成任务[100]。这并不会扩展到背景作业的上传和下载工作(如在应用程式中开始下载,然后切换成其他应用程式,任务将无法完成)。
Siri(/ˈsɪri/)是个结合到iOS的智慧个人助理,个人助理使用语音查询及自然语言用户界面来回答问题、提出建议,并透过互联网搜索以执行操作。该软件会适应用户的个人语法、搜索和喜好以继续使用,回复的结果是个性化的。
该应用程式最初于2010年2月作为iOS应用程式来发布[101],并于两个月后被苹果公司收购[102][103][104],然后集成到iPhone 4S并重命名为“Siri”于2011年10月推出[105][106]。那时,该独立的应用程式也从iOS的App Store中移除[107]。
Siri支持广泛的用户命令,包括执行电话操作、查阅基本信息、安排活动与提醒、处理装置的设置、在互联网上搜索、区域导航、查找有关娱乐的资料,并且能够使用跟iOS结合的应用程式[108]。随着iOS 10于2016年发布,苹果公司为Siri开放了有限的第三方使用,包括第三方的通讯应用程式,以及支付、乘车共享及网络电话的应用程式[109][110]。随着iOS 11的发布,苹果公司更新了Siri的声音,使其成为更清晰的人类声线。它现在支持后续问题和语言翻译,以及额外第三方操作[111][112]。随着iOS 17的发布,苹果公司允许用户透过简单地说“Siri”来激活Siri,但先前的指令“嘿Siri”仍然支持。
2024年,苹果公司在WWDC上发布新一代操作系统iOS18,iOS18将Siri和Apple Intelligence相结合,来为用户提供更加强大和个性化的数字助理。[113]同时允许用户使用手动输入来访问Siri。
游戏中心是由苹果公司发布的[114]在线多人游戏的“社交游戏网络”[115]。它容许用户“邀请朋友玩游戏,通过配对来开始多人游戏,追踪他们的成就,并把他们的最高分数在排行榜上作比较”。iOS 5及更高版本增加了对个人资料照片的支持[115]。
游戏中心于2010年4月8日在苹果公司主持的iOS 4预览活动上发布,同年8月向其公司的注册开发者发行预览版[115],它于2010年9月8日随iPhone 4、iPhone 3GS及第2代至第4代的iPod Touch发布[116]。直至iOS 4.2.1,Game Center才首次在iPad上公开亮相[117]。第一代iPhone、iPhone 3G以及第一代iPod Touch并不支持游戏中心(后者两个装置由于没有iOS4以致没有游戏中心)。然而,iPhone 3G在透过骇客入侵就能够非正式获得游戏中心的功能[118]。
从iOS 10开始,游戏中心从主屏幕被移除,但仍然可以在设置中找到。
iOS18 发布”游戏模式“。
iOS用户界面能使用按键、多点触控对装置进行控制。此外透过其内建的加速器,可以旋转装置以使屏幕改变方向,令装置更便于使用。
- 实体按键:包括屏幕下方的Home键(用于退出应用程序、回到主界面、长按开启语音控制(Voice Control)或Siri,于iPhone 5S及之后版本及iPad Air 2及之后版本中同时为触控ID传感器,iPhone 7改为按压式按键,iPhone X后已经取消Home键,改为全手势操作),顶部或侧面(iPhone 6、iPhone 6 Plus之后的iPhone机型)的侧面按键(旧称电源按键。用于点亮、关闭屏幕、关机,iPhone X/XS/XS Max/XR/11/11 Pro/11 Pro Max、第三代iPad Pro和第四代iPad Air同时可用于确认应用购买以及唤醒Siri,第四代iPad Air和第六代iPad Mini中同时为触控ID传感器)及侧面的音量控制按键(包含一个静音开关和两个音量大小调节键,在IPad Air 2与其之后的产品中仅有音量调节键,第六代iPad Mini位于顶部)。
- 多点触控:苹果称为“Multi-Touch”,包括滑动(Swiping)、轻按(Tapping)、挤压(Pinching)、反向挤压(Reverse Pinching or unpinching),于iPad中还可使用四指或五指手势切换App,与系统互动。
- 3D touch: 透过屏幕里的感应器,对用户按压的力道做出相对应的反应(最早出现在iPhone 6s,直到在iphone 11上因为此技术会使屏幕变厚而被取消)。
- 屏幕界面:以应用程式方格的形式呈现,可将多个程序合并至一个文件夹方格中;最底部的一栏为Dock,最多可以有四个(iPad系列中,iPhone OS 3~iOS 10为6个,iOS 11和iOS 12为13个,iPadOS13至今如包括最近打开应用为16个);程序图标被固定在Dock上,可以通过“滑动”的方式进行变换显示的应用程式。状态栏处于屏幕上方,能显示时间、电池电量和信号强度等信息。从屏幕顶端向下轻扫可以显示通知中心。将图标向下轻扫可以启动聚焦,从屏幕底端向上轻扫(使用iOS 11及以前版本的装置)或从屏幕右上角向左下轻扫(iPhone X/XS/XS Max/XR以及使用iOS 12/iPadOS的iPad装置)可以显示控制中心(iPad在iOS 11时则同时显示应用切换器)。
- App Store:App Store是苹果公司为旗下作业系统所建立和维护的数码化应用发布平台,允许用户从iTunes Store浏览和下载一些由iOS SDK或者Mac SDK(须造访Mac App Store)开发的应用程式。根据应用程式发布的不同情况,用户可以付费或者免费下载。应用程式可以直接下载到iOS装置,也可以透过macOS或者Windows将iTunes下载到电脑中。其中包含游戏、日程管理、词典及许多实用的软件。
- 内建程序:iOS最新版本中的应用程式(因装置不同,部分的应用程式可能会有所差异)包含电话、邮件、Safari浏览器 浏览器、音乐、电视、信息、日历、照片、相机、FaceTime通话 通话、Photo Booth、股市、地图(Apple Map)、天气、备忘录、提醒事项、时钟、计算器、指南针、语音备忘录、App Store、设定、通讯录、Nike+iPod、Voice Control、Siri、钱包、查找、家庭、图书、新闻、健康、播客、手表、提示、文件、测量、快捷指令、翻译;在最新版本被移除的软件:YouTube(iOS 6中被移除)、iPod(iOS 5中被拆分成“音乐”和“视频”)、地图(iOS 4中使用AGPS辅助的Google地图;iOS 5中使用格洛纳斯系统辅助的Google地图,在iOS 6及以后的系统中,海外地区使用 Apple Map,而中国大陆地区则使用Apple Map辅助的高德地图。)、Game Center(可在设置中或游戏界面中找到)、视频(iOS 11中改为电视,但在不支持使用电视应用的国家或地区中仍然保留)、杂志(iOS 13中被移除)、iTunes(默认移除,但仍然可以从App Store下载)[119]。从iOS 10开始,部分内建应用程式可以卸载。
硬件
iOS的主要硬件为ARM架构。在iOS 7之前的版本只能在具有32位ARM处理器的装置上运行iOS(ARMv6或ARMv7-A架构)。2013年,苹果公司宣布随着Apple A7晶片的推出后,他们正在转而使用64位ARMv8-A处理器[121]。iOS 7发布时提供了完整的64位的支持(包括本机64位内核、程序库、驱动程式以及所有内建应用程式)[122]。App Store对其中的所有应用程式也实行了64位的支持;所有新的应用程式提交到App Store的截止日期为2015年2月,而所有应用程式的更新提交到App Store的截止日期为2015年6月1日[123]。iOS 11不再支持使用32位的ARM处理器以及32位的应用程式[124][125],令它仅能提供64位的应用程式[126]。
开发
iOS软件开发工具包(英文:iOS SDK(Software Development Kit);亦称 iPhone SDK)是由苹果公司开发的让开发者为iOS开发移动应用程序。
自从Xcode 3.1发布以后,Xcode就成为了iOS软件开发工具包的开发环境。它与Mac OS X的应用程式一样,iOS应用程式使用Objective-C语言,一些应用程式可以写成C或C++语言。苹果公司文通常会发布两个iOS软件开发工具包,当中包括主要的iOS X.0(例如 iOS 10.0)和次要的iOS X.X(例如 iOS 10.1)。正式版于发布前会有几个测试版本,目的是测试其兼容性并增加新功能。
最初在2007年iPhone还未推出之前,该工具包原是用于开发iPhone的。2007年10月17日,时任苹果公司的行政总裁乔布斯于苹果公司的网站上发表一封公开信,表示并不打算让第三方开发人员为iOS构建原生应用程式[127],而是指导他们制作Safari浏览器浏览器的网络应用程式[127],并指苹果公司将于2008年2月发布首个iOS软件开发工具包给第三方开发商[128][129],然而开发商对此表示强烈反对,促使公司重新考虑。该软件工具包于2008年3月6日发布[130][131],让开发者为iPhone、iPod touch开发适用的移动应用程序。
iOS软件开发工具包让Mac个人电脑免费下载[132],但不适用于微软的Windows个人电脑[132]。然而,该工具包需要在Mac OS X Leopard及以上的系统,并配有英特尔处理器才能运行,至于其他的操作如微软的Windows和旧版Mac OS都不获支持。软件开发工具包包含容许开发人员进入iOS装置的各种功能和服务,例如例如硬件和软件属性[133]。它还包含一个“iPhone模拟器”,用以模仿其外观及感觉[133]。新版本的SDK一般会伴随着新版本的iOS[134][135]。为了测试应用程式,获得技术支持以及通过App Store分发应用程式,开发人员必须加入苹果公司开发者计划[132]。开发者可以透过计划于App Store发布设价的移动应用程序,开发者可获得付费应用程式70%的费用配额,免费应用程式则没有任何费用配额。
iOS开发者计划(iOS Developer Program)是苹果公司为iOS开发人员提供的官方项目,该计划包括为开发人员提供开发工具,技术支持培训,资格及程序发布审核等支持[136]。苹果公司的iOS Dev Center网站亦提供了大量技术和学习资料。此外,苹果公司每年都会举办苹果公司全球软件开发者年会(WWDC)。
开发者每年都会有两次技术支持事件(TSI),每次容许开发者请求技术支持工程师提供代码级支持。问题将被分配予合适的工程师以协助排除代码问题,以指出获取其他技术资源的途径,或者提供能够加速其开发过程的变通方法或相应的技术文件。开发者可以通过会员中心的“计划及附加项目(Programs & Add-ons)”来购买额外的技术支持事项,选择有两种:以$99美元购买2次技术支持,及以$249美元购买5次技术支持的选项。
市场
继Android之后,iOS是全球第二大最受欢迎的流动操作系统。近年来iPad的销售也落后于Android,虽然通过网络使用(所有代理的用途),使用iOS的iPad仍然是最受欢迎的[137]。
截至2011年底,iOS占据智能电话和平板电脑市场的60%[138]。2012年中期,有4.1亿个装置被激活[139]。在2014年的WWDC上,蒂姆·库克称于2014年6月已售出8亿个装置[140]。截至2014年底,iOS占智能电话市场的14.8%[141],及平板电脑和二合一的市场占27.6%[142]。
2015年1月,苹果公司的季度收益的电话会议中,该公司宣布自2007年以来iOS装置的销售已超过10亿个[143][144]。2015年2月,网站流量分析工具StatCounter报告指,根据互联网使用(非销售)来衡量,全球有23.18%的智能电话以及66.25%的平板电脑均使用iOS[145]。2015年第三季,据Strategy Analytics的研究显示,全球智能电话市场的iOS采用率创下历史新低的12.1%,此归因于中国和非洲的业绩了无生气。Android占据了市场的87.5%,而其余部分则被Windows Phone和BlackBerry占据[146][147]。
越狱
iOS越狱(英语:iOS Jailbreaking)是获取iOS装置的Root权限的技术手段,可以添加苹果公司不允许的功能[148]。在苹果公司的原生App Store于2008年首次亮相之前,越狱的主要动机是为了绕过苹果公司的购买机制来安装App Store的本机应用程式[149]。苹果公司声称不会发布专门设计用来打破这些工具的iOS软件更新(执行SIM解锁的应用程式除外);然而,随着每次iOS后续的更新,先前未经修补的越狱漏洞通常会被修补[150]。而苹果公司在自iOS的更新起多次修改新款晶片的系统安全设置或采用安全级别更高的晶片(如新一代iPad Mini/Air/Pro上所使用的用于Mac装置的M系列晶片)以取代单纯的修复越狱漏洞也使得新装置越狱变得不再可能。
自Apple原生的iOS App Store及随着第三方应用程式的出现以来,越狱的一般动机也发生了变化[151]。人们需要进行越狱的原因有很多,包括获得进入文件系统的权限、安装自定义的装置主题,并修改SpringBoard。另一个动机是它可以激活盗版应用程式的安装。在某些装置上,越狱也可以用于安装替代操作系统,例如是Android和Linux内核。最初,用户只因为iOS的限制而把他们的装置进行越狱,而越狱的影响会根据使用的方法,可能是永久的或暂时性的[152]。
iOS系统的Root用户对除了苹果公司特定私有进程之外的其他进程不开放,使用Root用户进行的进程于进程树中的PID为0。程序员会在iOS中挖掘到一些可以把进程提权至PID0的漏洞(例如Task For PID0)。利用Root用户进行的进程意味着可以任意读取装置中的APFS分区表和内核缓存地址,拥有一个用户可以随意控制的PID0进程还不能称之为一个完整的越狱。随后还需要利用Bypass(旁路)手段绕过苹果公司于iOS系统中设置的其他安全防护措施,把APFS或HFS+文件系统中的ROOTFS分区重新挂载(Remount)为可读写(R/W),从而达到添加二进制文件及守护进程的目的。通常大众认为能够正常使用Cydia才能被称为越狱,然而其实此说法并非正确的。透过此软件是可以完成越狱前不可能进行的动作,例如安装App Store以外未经签署的应用程式、修改SpringBoard、执行Shell程序、使设有运营商锁的装置利用卡贴解锁后通过替换配置文件形式实现本地化(例如“去除+86”,解锁FaceTime通话功能)[153]。若进行了“不完美越狱(Tethered Jailbreak)”,装置将于重启后失去越狱环境,需要用特定的软件重新进入越狱环境。杰伊·弗里曼于2010年10月估计,全球大概有10%的iPhone曾进行过越狱[154],不过随着现在iOS系统功能的日趋完善,加上苹果公司在iOS 5开始的后续版本更新中均会加入以往越狱环境下比较流行的插件功能或在新装置的晶片中采用新的安全系统来打压越狱,越狱的需求已大不如前。
2010年,电子前哨基金会(EFF)成功说服美国著作权局根据《数码千禧年著作权法案(DMCA)》对一般禁止著作权保护系统的阻遏允许豁免。该豁免容许以合法获得的应用程式添加到iPhone为唯一目的[155]。此豁免不影响苹果公司与iPhone拥有人之间的合同关系,例如,越狱会使iPhone的保修失效;然而这完全基于苹果公司会否对他们越狱装置的修复有完全的决定权。与此同时,著作权局对DMCA的反规避禁令而豁免了解锁iPhone的禁令[156]。“解锁iPhone”是用于操作特定的手机型号设计来使iPhone可以跟任何无线运营商一起使用相同的GSM或CDMA技术[157]。
解锁
最初,美国大多数的无线网络服务供应商都不允许iPhone用户将其解锁,然而,供应商AT&T为符合其合约要求的iPhone用家装置进行解锁[158]。苹果公司提供其解锁装置的说明[159],但最终由无线网络服务供应商自行决定授权装置进行解锁[160]。这个操作让使用的载体来源的iPhone在其他网络上使用。现代版本的iOS和iPhone,不管手机最初是从哪里购买,也能完全支持横跨多个供应商的LTE[161]。现在有一些程序可以删除SIM锁定限制,然而都不获苹果公司的支持,并且通常都不是永久解锁——只是软解锁[162]。
数码版权管理
iOS的封闭性和专有性质引起了不少批评,特别是数码权利的倡导者,例如是电子前哨基金会、电脑工程师和维权人士布鲁斯特·卡利、互联网法律专家乔纳森·齐特林、和举办抗议iPad介绍活动以及针对iPad的活动《设计式缺陷》之自由软件基金会[163][164][165][166]。苹果公司的竞争对手微软,透过其公关发言人批评苹果公司对其平台所作的控制[167]。
问题是iOS的设计所施加的限制,即数码权利管理(DRM)旨在苹果公司的平台上锁定已购买的媒体,其发展模式(需要每年订阅以分发为iOS开发的应用程式),应用程式的集中审批流程,以及苹果公司对其平台的一般控制和平台本身的锁定。特别值得一提的是,苹果公司有能力随意透过远程禁用或删除应用程式。
有一些科技界人士表示担心,iOS锁定代表着苹果公司电脑的一个不断增长的趋势,特别是苹果公司转向业余爱好者可以把装置“笨拙地修理”,并注意到这种限制可能会扼杀软件的创新[168][169]。Facebook的前开发人员乔·休伊特抗议苹果公司控制其硬件成为了“可怕的先例”,但他对iOS应用程式的沙盒作出赞赏[170]。
核心
iOS的内核是以Darwin的XNU。最原始的iPhone操作系统(1.0)至操作系统(3.1.3)是使用了Darwin 9.0.0d1;iOS 4使用Darwin 10;iOS 5使用 11;iOS 6是Darwin 13;iOS 7及iOS 8是Darwin 14;iOS 9是Darwin 15;iOS 10是Darwin 16;iOS 11是Darwin 17;iOS 12基于Darwin 18[171]。
安全性
iOS在硬件和软件的方面都使用了许多安全功能。以下是显著的功能摘要。
在完全激活进入iOS之前,系统会先从激活只读存储器中执行低级代码,其任务是验证低级激活程序在执行前是否获得苹果公司证书颁发机构所颁发的根证书密钥。此过程旨在确保iOS装置上不会执行恶意软件或其他未经授权的软件。在低级激活程序完成任务后,它会执行较高级别的激活程序,名为引导加载程序。若iBoot运作一切顺利,iBoot将继续加载到iOS内核以及操作系统的其余部分[172]。
安全区域(Secure Enclave)是iOS装置中包含着触控ID及面容ID的辅助处理器,它有其安全激活过程以确保它是完全安全的。随机数生成器的硬件还包括这辅助处理器的一部分。每个装置的安全区域在制造时都有唯一的身份,并且无法更改。此标识用于创建临时密钥,用于为系统中该部分的内存加密。安全区域还包含一个反重播计数器(anti-replay counter)以防止被进行暴力破解法[172]。
iOS装置需要一个密码用于为装置解锁、更改系统设置,以及加密装置的内容。直到现时,这些密码通常是四位数字的长度。然而,带有指纹解锁的触控ID装置变得更加普及,六位数字的密码现在是iOS上的默认密码,但用户仍可以选择切换回四位数字或使用字母与数字组合的密码[172]。
触控ID是以嵌入方式置于主页按钮中的指纹扫描仪,它可用于为装置解锁、进行购买的动作,及登录其他应用程式等功能。使用时,触控ID仅将指纹数据临时存储于Secure Enclave的加密内存中。装置的主要处理器或系统的任何其他部分都不可能进入触控ID传感器获取原始指纹数据[172]。 在iPhone X及以后的iPhone(除了iPhone SE (第二代) iPhone SE (第三代))由于主页按钮被取消,触控ID也被一并取消并换成了面容ID。
地址空间配置(ASLR)是一种防止内存损坏的攻击的低端技术,例如是缓存溢出。它涉及把数据置于内存中随机选择的位置,以更难去预测破坏系统和创建漏洞的方法。无论该行为是偶然还是带恶意的,ASLR会使应用程式的错误而有可能导致其崩溃而不是默默地把内存覆盖的做法[173]。
iOS是使用ARM架构下的Execute Never(XN)功能。此容许某些部分的存储器被标记为不可执行,它与ASLR一起防止缓冲器的溢出攻击,包括Return-to-libc攻击[172]。
如上所述,iOS中加密的一种用途是用于安全区域(Secure Enclave)的存储器中。当在iOS装置上使用密码时,装置上的内容经已被加密。这是透过使用高级加密标准256的硬件的实施方式,这非常有效,因为它直接置于闪存与RAM之间[172]。iOS与其特定硬件结合使用粉碎加密来删除所有内容和设置时,透过“可抹除的存储(effaceable storage)”来删除。这会使装置上的所有用户数据加密至不可进入[174]。
iOS钥匙圈是一个登录资料的数据库,它可以跟同一个人或组织所写的应用程式之间共享资料[172]。此服务通常用于存储网上应用程式的密码[175]。
第三方应用程式例如那些通过App Store分发的,必须获得苹果公司所颁发的证书进行代码签署。如上所述,用户在装置上安装的应用程式的操作,这从安全激活过程一直延续到信任链。应用程式也经过沙盒处理,这意味着他们只能修改其各个主目录中的数据,除非是明确授予其他权限。例如,他们无法进入装置上由其他用户安装应用程式的数据。iOS中包含一系列非常广泛的隐私控制,当中可以选择控制应用程式进入各种权限的能力,例如相机、联系人、背景应用程式更新、蜂窝数据、并进入其他数据及服务。iOS中的大多数代码,包括第三方应用程式,会以没有root权限的“流动”用户运作。这确保了系统文件和其他iOS系统资源保持在隐藏的状态,并且用户所安装的应用程式无法进入[172]。
iOS为开发人员提供了包含低端及高阶API的传输层安全性协议(TLS)。在默认情况下,应用程式传输安全框架需要TLS1.2的伺服器。然而,开发人员可以自由地覆盖这个框架,和通过网络利用他们自己的方法来沟通。当Wi-Fi已激活,iOS会使用随机MAC地址,这样任何人都无法透过数据包分析器来追踪无线流量[172]。
双重身份认证是是iOS中的一个选项,以确保即使未经授权的人知道受影响用户的Apple ID和密码组合,也无法登录该账户。此方法有效于不仅是要求用户输入Apple ID及密码,还需要输入发送到已知可信的装置的验证码[172]。若未经授权的用户尝试以其他用户的Apple ID登录,该Apple ID的拥有人将会收到通知,容许拥有人拒绝无法识别装置的登录[176]。
批评
- iOS系统的封闭原始码导致用户无法在装置上实现个人化接口功能,苹果对系统的控制也使安装第三方软件异常困难,当系统有漏洞时只能仰赖苹果公司发布补丁更新,开发者无法自行进行修补。
- 基于iOS的(即iPhone、iPod Touch和iPad),或是其他非基于iOS的(即iPod Classic、iPod Nano和iPod Shuffle),均被批评捆绑iTunes,让iTunes Store垄断这些装置[177]。
- 发布应用程式只能使用苹果规定的API,不得使用或调用任何公开或私有的API。应用程式起初必须以Objective-C、C、C++或执行iPhone OS Webkit的JavaScript语言编写,代码仅能用C、C++编写,Objective-C需可编译,直接链入API的文件(禁止应用程式透过中介编译、兼容层和工具链入API)[178]。
- 苹果公司在iOS中加入开发限制,使得在iOS开发自有应用显得困难,例如:苹果规定在iOS平台上所有浏览器都必须在自家WebKit渲染引擎上执行,使得非Safari浏览器的浏览器如Google Chrome、Mozilla Firefox 、Opera必须修改程序码配合苹果公司牺牲这些浏览器的独有技术及功能,且在iOS中预设的浏览器是Safari浏览器,无法使用其他浏览器取代(在iOS14已解决)[179]。
- 苹果对iOS视频音频编解码器进行限制,让iOS装置只支持自家拥有专利的H.264及AAC,排斥先进的开源编解码器方案,如VP9和Opus。让自家的影音格式在市场上保持优势。
- 苹果公司刻意在iOS系统对蓝牙技术上做出限制,只能对iOS装置间进行连接,其他装置如Android手机,无法透过iPhone来连接进行传输。
- 许多用户表示苹果公司透过iOS版本更新的方式拖慢手机执行速度[180], 以加速用户换机意愿,使iPhone的销量提高[来源请求] ,苹果官方承认为了防止电池老化擅自对系统进行降速[181][182]。
- 在App Store中超过150MB的应用软件无法透过蜂窝网络进行下载,只能透过连上WiFi网络来下载。(在iOS14系统中已解决)
- 苹果公司为了在移动支付市场获取成功,在iOS13之前,自家iPhone限制其NFC技术仅能提供Apple Pay使用,将其功能屏蔽,导致其他支付业者不能获取其权限,进而让Apple Pay得到竞争优势。
装置列表
参见
参考资料
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.