Remove ads
流动装置操作系统 来自维基百科,自由的百科全书
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、Finder或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中,引入了Spotlight,它让用户搜寻装置内的媒体、应用程式、电子邮件、联络人、讯息、提醒事项、日历事项及相关的内容。从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]:
iOS 5引入了三个新的后台应用程式介面:
在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使用者界面能使用按键、多点触控对设备进行控制。此外透过其内建的加速器,可以旋转装置以使屏幕改变方向,令设备更便于使用。
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装置中包含著Touch ID及Face ID的辅助处理器,它有其安全启动过程以确保它是完全安全的。随机数生成器的硬件还包括这辅助处理器的一部分。每个装置的安全区域在制造时都有唯一的身分,并且无法更改。此标识用于创建临时密钥,用于为系统中该部分的内存加密。安全区域还包含一个反重播计数器(anti-replay counter)以防止被进行暴力破解法[172]。
iOS设备需要一个密码用于为装置解锁、更改系统设定,以及加密装置的内容。直到现时,这些密码通常是四位数字的长度。然而,带有指纹解锁的Touch ID装置变得更加普及,六位数字的密码现在是iOS上的默认密码,但用户仍可以选择切换回四位数字或使用字母与数字组合的密码[172]。
Touch ID是以嵌入方式置于主页按钮中的指纹扫描器,它可用于为装置解锁、进行购买的动作,及登录其他应用程式等功能。使用时,Touch ID仅将指纹数据临时存储于Secure Enclave的加密内存中。装置的主要处理器或系统的任何其他部分都不可能进入Touch ID传感器取得原始指纹数据[172]。 在iPhone X及以后的iPhone(除了iPhone SE (第二代) iPhone SE (第三代))由于主页按钮被取消,Touch ID也被一并取消并换成了Face 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]。
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.