公众号旧文

Redmi Note 12 已成功启动 iOS

作者:胖子阅读 —

前几天,我写过一篇关于HackiOS的文章,介绍了开发者尝试让真正的苹果 iOS 系统运行在安卓手机上的计划。

HackiOS:让安卓手机运行真正的 iOS 系统

当时,HackiOS 还处于底层开发阶段,公开展示的主要是 UEFI 启动界面,距离完整运行 iOS 还有不少技术难题。

最近又传来了新消息。

10 月 19 日,独立开发者 Makr 展示了在小米 Redmi Note 12 4G 上运行 iOS 16 的成果,并公开了相关代码。

这次的项目与此前介绍的 HackiOS,存在技术联系。

一、Redmi Note 12 真的运行了 iOS?

这次的项目名为ios-topaz。

开发者使用的设备是 Redmi Note 12 4G,搭载高通骁龙 685 处理器。

与常见的 iOS 主题、桌面启动器不同,这次移植使用了苹果的 XNU 内核,以及来自 iPhone X 的 iOS 16.7.16 系统组件。

其中包括负责启动系统服务的 launchd,以及负责桌面界面的 SpringBoard。

根据开发者公开的资料,手机已经能够进入 iOS 主屏幕,打开设置,并通过触摸屏进行操作。

系统设置中的设备信息显示为 iPhone X,运行版本为 iOS 16.7.16。

这意味着,开发者确实让真正的 iOS 系统组件在非苹果硬件上运行了起来。

不过,这仍然是一个经过大量修改的实验性系统。

并不意味着 Redmi Note 12 已经变成了一部功能完整的 iPhone。

二、目前已经实现了哪些功能?

项目早期只能进入锁屏界面,触摸功能也尚未完成。

但开发进度相当快。

根据开发者截至 10 月 20 日更新的 GitHub 文档,目前已经实现触摸屏、音量键、电源键以及部分 Wi-Fi 功能。

手机能够扫描并连接 WPA2 无线网络,还可以在重启后重新连接。

不过,蓝牙、蜂窝通信、相机、音频等功能仍然缺失。

公开仓库中的图形渲染主要依靠 CPU,性能有限,部分应用也无法正常显示内容。

此外,为了让系统成功启动,开发者关闭或绕过了大量苹果原有的安全机制。

所以,目前的成果更适合用来研究操作系统移植,而不是给普通用户日常使用。

三、它和之前的 HackiOS 有什么关系?

之前介绍的 HackiOS,同样致力于让 iOS 运行在安卓手机硬件上。

HackiOS 团队曾展示自定义 UEFI 启动环境,并表示未来会免费公开代码。

而这次的 ios-topaz,走的是另一条开发路线。

根据 GitHub 说明,ios-topaz 实际上基于另一个名为 ios-sweet 的开源项目。

ios-sweet 最初针对 Redmi Note 10 Pro 开展 iOS 16 移植,随后 Makr 将相关成果适配到了 Redmi Note 12 4G。

不过,两条路线并非完全没有交集。

ios-topaz 的开发者明确提到,他们已经在实机上使用来自 HackiOS 项目的补丁,实现了 GPU 加速。

根据开发者的说法,HackiOS 的作者私下分享了部分代码,相关 GPU 补丁将在 HackiOS 公开源代码后再加入 ios-topaz 仓库。

这说明两个项目之间确实存在技术交流与成果共享。

但需要注意,GPU 加速相关代码尚未全部公开,目前还不能仅凭这一描述,就认定相关功能已得到独立复现。

同样,也不能把 ios-topaz 简单理解成 HackiOS 的新版本。它们仍然是不同的项目。

四、AI 可能正在改变底层系统开发

这次还有一个值得关注的细节。

ios-topaz 项目包含大量底层代码、内核补丁和构建工具,其开发资料也体现了 AI 编程工具参与工程工作的迹象。

过去,操作系统移植往往需要开发者长时间研究硬件寄存器、内存映射、启动流程和驱动接口。

如今,AI 编程工具可以辅助分析代码、生成补丁、整理错误日志以及探索兼容性问题。

当然,AI 并不能自动解决所有硬件适配难题,最终仍然需要开发者在真实设备上测试和验证。

目前也没有足够的公开证据,能够准确判断这个项目有多少代码由 AI 生成。

但至少,这次成果让我们看到了 AI 辅助复杂底层工程开发的一种可能性。

五、安卓手机真的能刷 iOS 了吗?

从技术验证的角度来说,答案正在逐渐变得肯定。

但从普通用户的角度来说,现在还远远谈不上成熟。

虽然 ios-topaz 已公开部分源代码和构建方法,但安装需要解锁 Bootloader,还涉及对手机用户数据分区的操作。

这意味着尝试移植可能导致原有数据丢失,而且无法保证系统稳定运行。

更不用说苹果专有系统组件的授权、系统安全、软件兼容性和长期维护等问题。

能够启动 iOS,与能够长期使用 iOS,仍然是两回事。

写在最后

回头看之前介绍的 HackiOS,当时开发者还在努力解决系统启动的问题。

如今,另一个开源项目已经让 Redmi Note 12 运行起了真正的 iOS 16,并逐步实现触摸和网络等基础功能。

两者虽然不是同一个项目,却存在技术交流,也都在探索同一个问题:

苹果的 iOS,究竟能在多大程度上摆脱原有硬件平台的限制?

目前我们还不知道答案。

但这次至少证明了一件事:让 iOS 在安卓手机上运行,已经不再只是停留在概念和启动菜单上的尝试,而是有了能够查看代码、研究实现方式的实际成果。

对普通用户来说,它暂时没有多少实际价值。

但对于喜欢折腾系统、研究内核和硬件的开发者而言,这无疑是一项值得持续关注的技术实验。