探究苹果多种内部iOS变体,助力开发

【2024-04-29 19:51:27爱思瑞网快讯】

探究苹果多种内部iOS变体,助力开发

在发布完整版本之前,苹果开发了几种不同目的和完全不同用户群体的iOS变体。以下是它们的使用情况以及使用者。

iOS的最终消费者版本显然是向所有人免费提供的,但其中有许多不同的开发和测试阶段。大多数独特的iOS变体仅限于在苹果内部或相关工厂和供应商内使用。

在苹果向注册开发人员发布操作系统的第一个开发者测试版之前,操作系统必须经过一系列内部测试,以确保功能正常。由于这个原因,iOS在苹果内部存在几种变体,所有这些变体可以同时存在。

一些类型的iOS用于测试即将推出产品的硬件组件,而其他变体则由苹果的软件开发团队用于创建和测试不同的操作系统功能和增强功能。

为了更好地说明苹果的实践和iOS开发的一般方法,以下是一个简要概述,详细介绍了公司内部使用的许多操作系统变体之间的区别。

LLDiags – 苹果用于低级诊断的产品

也许这是所有iOS中最基本的一个,这个版本的iOS几乎没有用户界面。LLDiags是专门用于低级诊断的iOS的一种特殊变体,通常在工厂中使用。

运行LLDiags的设备仅显示一个简单的诊断图像,内部称为“Diags。” 诊断图像显示一个基本的用户界面,可用于执行测试或重新启动设备。

iPhone 8 running Diags - YouTube printscreen from AppleDemo's video

iPhone 8 running Diags – YouTube screen from AppleDemo’s video

当没有处于Diags状态时,运行LLDiags版本的iOS的设备通常会直接启动到恢复模式,并且除了恢复模式标志外不显示任何其他内容。文件系统通常包含最低限度的内容,足以使设备能够引导,但没有其他多余的内容。

据说苹果的工程师通过连接的计算机通过命令行界面与这些设备交互。

NonUI – 苹果的硬件工程师和校准机器使用的产品

iOS的NonUI变体是为了区分苹果软件和硬件开发团队的工作而创建的。

软件工程(SWE)团队负责iOS的最终发布版,用户接触到的界面。硬件团队则获得其他内容。

苹果内部的硬件工程团队(HWTE)无法访问正常的用户界面。相反,他们依赖一个iPhone操作系统的临时版本,其具有基本的用户界面,仅用于测试硬件组件,如按钮、端口、摄像头、扬声器和传感器。

早期iPhone的两个原型机完美地说明了InternalUI和NonUI iOS变体之间的差异。

原始iPhone的两个“橡子”原型展示了InternalUI和NonUI之间的差异

原始iPhone的两个“橡子”原型展示了InternalUI和NonUI之间的差异

当苹果的软件工程师设计了一个类似iPod界面的界面时,硬件开发团队则设计了一个带有简单方块和矩形作为按钮的操作系统版本。

这些早期原型机运行的操作系统被称为AcornOS,并被收藏家普遍称为“橡子原型机”。

随着iPhone的发展,其操作系统的NonUI变体也在逐步发展。原始iPhone的后期原型机采用的操作系统版本有一个名为“SkankPhone” 的名称。

SkankPhone的早期版本中,“关于”部分列出的操作系统名称为“OS X”,而不是“iPhoneOS”。这完美展示了苹果的硬件和软件团队之间的分离。

公司的内部操作系统中充满了各种内部玩笑、粗糙的图画和梗,有些版本甚至包含流行文化的参考,例如内部版本的watchOS中包含了来自“辛普森一家”节目角色的参考。

SkankPhone应用程序会在屏幕底部显示不同的消息。例如其中一些消息是:“Skank is the new black” 和 “Say hello to the Newton MessagePad 3000.”

智能手机显示一个菜单,其中包含电话、短信、网络和媒体等选项,放在木表面上。

iPhone运行SkankPhone – YouTube上Michael MJD的截屏

该应用程序最终演变成了SwitchBoard,这是一个用于非UI应用和环境(如BurnIn)的基本启动器。SwitchBoard独立存在并运行,不需要SpringBoardUIKit – 这些用于在其他iOS变体上显示标准iOS UI。

虽然SkankPhone在未来几年内保留了一段时间,但该应用程序最终在iOS 6.0中停止使用,其他内部应用程序取代了它。随着iPhone获得了越来越多的硬件功能,其内部操作系统需要更多的应用程序来测试新组件。

内部NonUI操作系统通常反映了影响苹果消费者定向iOS版本的更改,即苹果内部称之为“Release”的iOS。在这方面,iOS 7.0后的NonUI版本采用了某些区域的扁平设计。

在特定功能方面,iOS的NonUI版本通常包含开发kernelcache、开发iBoot,并支持多种硬件配置。这种iOS类型还可以包含对未发布或取消的设备的参考,例如N89 iPhone或J98/J99 iPad

多年来,苹果创建了专门针对生产线或组件校准机器(如Horizon machine)使用的NonUI iOS变体。所有这些操作系统版本仍属于NonUI类别,仍在苹果和工厂内使用。

Internal UI – 苹果软件工程师使用的产品

可以说是最理想的,也是最有趣的iOS变体是Internal UI。顾名思义,这种iOS类型具有一个内部、常常是预生产的用户界面变体,可在iOS上找到。

这意味着iOS的InternalUI版本可能包含未发布的功能实现、未宣布的产品、实验性测试环境或苹果开发的备用设计选择。

可以在iOS 4的一个内部版本中看到一个备用的多任务视图,这些图片在2011年被发布到越南网站上。

手持智能手机显示各种应用程序,背景为粉红色。

iOS 4中的多任务视图可能会有很大不同

除了标准用户界面外,iOS的InternalUI版本通常包含影响操作系统外观或功能的专门设置。这种类型的iOS还带有大量内部使用的应用程序,这些应用程序可能包含新操作系统功能的代号或早期原型。

值得注意的是,iOS的InternalUI版本包含内置的错误报告选项,通过Radar应用程序处理。要报告错误,苹果员工会“提交一个雷达”。

iOS的InternalUI变体通常包含对生产以及开发融合的iPhone的支持,有时还包含对开发板和FPGA的支持。InternalUI版本还包含iBoot的调试版本。

iOS的InternalUI版本还存在一种名为“Desense”的单独变体,这种iOS类型的内容可能会有很大不同,尽管它们通常包含许多相同的内部应用程序和设置。

不时地,iOS的内部版本会传播到普通公众或收藏家和爱好者社区中。

2020年初,iOS 14的内部版本从一部开发融合的iPhone 11泄露给一些个人,并最终传给媒体。这个版本包含了对AppClips、Wallpaper Collections和Widgets的引用。

虽然AppClips和Widgets都在2020年晚些时候和iOS 14一起亮相,但Wallpaper Collections功能直到两年后的iOS 16才推出。这显示了苹果在质量控制方面有多谨慎。

VendorUI – 在工厂用于测试的产品

尽管InternalUI和最终消费者iPhone版本的iOS均具有完整的iOS用户界面,但是VendorUI也并非如此。

VendorUI是一种专门用于质量控制测试而发送到工厂和相关供应商那里的iOS型号。虽然软件具有SpringBoard和iOS UI的关键元素,但通常并不包含所有默认应用程序。

根据一份2024年3月X上的可靠的私人账号声称,苹果已经开始分发iOS 18的VendorUI版本的内部构建。

CarrierOS – 运营商需要测试功能的产品

CarrierOS是iOS的一个变体,通常几乎与苹果向普通用户提供的iOS版本完全相同。

分发给全球运营商,这种iOS类型包含标准的终端用户界面以及可能对运营商有用的专用应用程序和工具。

该操作系统包含应用程序“E911Tester”,用于在iPhone上测试E-911紧急呼叫系统。

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,可联系本站进行二次审核删除:fireflyrqh@163.com。

Like (0)
Previous 2024年4月29日 下午6:55
Next 2024年4月29日 下午9:03

相关推荐