# 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 系统。