# PojavLauncher iOS 未来版本的系统支持
本公告将涵盖 PojavLauncher iOS 后续的 3 个版本发布计划。
我们在 iOS 版 PojavLauncher 的开发中取得了重大进展:修复了 1.17 及更新版本 的兼容性,为 iOS 带来了 OpenJDK 8 支持,并推出了 免越狱版本。然而,这些技术进步也重新引发了关于系统支持的讨论,我们最终做出以下决定:
未来版本的 PojavLauncher 将要求 iOS 14.0 或更高版本。
# 为什么做出这个决定?
支持 iOS 12.0 及以上版本曾是一项工程壮举,但这导致了功能支持与用户体验方面的多重问题。我们需要在编译前确保代码兼容 iOS 12——若无法兼容,则面临两难选择:放弃旧版本功能或引入外部库。这不仅拖慢开发进度,还可能导致用户无法使用新功能。
通过对当前用户群的观察,我们发现 Discord 社区(其活跃度远高于 GitHub 仓库的 Issues 板块)中寻求技术支持的用户多数已运行 iOS 14.0 或更新系统,少数为 iOS 13 用户。iOS 12 用户已极为罕见。况且随着免越狱版本的推出,用户完全可以在升级系统的同时继续畅玩 Java 版。
另一个重要因素是:我们的测试设备已全部升级至 iOS 14.0+,大多数测试人员也是如此,这意味着我们无法继续对旧系统进行有效测试。
# 后续计划如何实施?
后续版本迭代将按以下节奏推进:
PojavLauncher 2.1 - 当前阶段回顾
2.1 版本基本延续原有开发计划,主要特性包括:
- 全新分栏式界面设计便于菜单切换
- 重写的偏好设置菜单
- 代码从 Java 迁移至 Objective-C
- 首个支持免越狱环境的版本
- 最后一个包含越狱专属组件的版本
本版本将开始对 1GB 内存设备显示终止支持警告。
PojavLauncher 2.2 - 1GB 设备终止支持
2.2 版本原计划因性能问题停止支持搭载 Apple A7 芯片的设备,现扩展至所有内存低于 1GB 的设备:
- iPhone 5s
- iPhone 6
- iPhone 6 Plus
- iPad mini (第二代)
- iPad mini (第三代)
- iPad Air (第一代)
- iPod touch (第六代)
偏好设置中的 a7_allow 布尔值将更名为 force_unsupported_launch 以反映此变更。如之前声明,对这些设备的支持将在 2.2 发布三周后终止(若启用该开关则立即终止)。
本版本将开始对 iOS 12/13 用户显示系统版本终止支持警告。若设备支持 iOS 14 或更高系统,警告将提示用户升级系统。
PojavLauncher 2.3 - iOS 14.0+ 支持启动
2.3 版本将启动对 iOS 12/13 的终止支持流程。沿用与 2.2 版本相似的机制,可通过切换 force_unsupported_launch 布尔值强制启动启动器。对这些系统的支持将在 2.3 发布三周后终止(若启用该开关则立即终止)。
在此过渡阶段,2.4 版本的测试版构建将开始采用 iOS 14.0+ 专属 API,这可能导致强制启动功能失效。
PojavLauncher 2.4 - iOS 14.0+ 支持完成
2.4 版本将全面转向 iOS 14.0+ API,未经源代码修改将无法兼容 iOS 12/13 系统。