WWDC Quick Look 💓 By SwiftGGTeam
Support performance-intensive apps and games

Support performance-intensive apps and games

观看原视频

Highlight

Apple 在 iOS 14 和 Xcode 12 中新增 A12 Bionic 必需设备能力,让高性能游戏和专业应用可通过 Info.plist 限制安装到 A12 及更新设备,并在 App Store 向用户说明兼容性。

核心内容

一款主机级游戏准备登陆 iPad。美术资源、实时光照、复杂物理和 AR 场景都已经做完。团队在新款设备上跑得很顺,在旧设备上却无法稳定交付同一体验。继续支持所有 iOS 14 设备,意味着要削减画质或维护一套很重的降级路径。

过去,开发者已经可以用 Required Device Capabilities(必需设备能力)表达硬件需求。比如 Metal key 表示应用需要 Metal 图形 API,ARKit key 表示应用需要支持 AR 的设备。App Store 会读取这些能力,阻止用户把应用安装到不满足条件的设备上。

这场 session 解决的是更窄的问题:有些游戏和专业应用依赖的核心条件是 A12 Bionic 及更新芯片带来的整个平台性能。iOS 14 和 Xcode 12 为这类情况增加了 A12 性能要求。开发者在 Info.plist 里声明后,App Store 会把兼容性信息展示给用户,并阻止不支持的设备下载。

Apple 同时把边界说得很清楚。这个设置只适合少数确实需要最新硬件的体验。演讲要求开发者先完成性能优化,尽量覆盖所有支持 iOS 14 的设备,再决定是否把最低硬件提升到 A12 Bionic。

详细内容

Required Device Capabilities 决定安装门槛

00:29)Required Device Capabilities 是 Info.plist 中描述设备相关需求的列表。App Store 用它判断应用是否能安装到某台设备。设备缺少其中声明的能力时,用户不能下载安装,应用也不会在不满足要求的设备上启动。

关键点:

  • Required Device Capabilities 是安装和启动门槛,不是功能介绍文案。
  • 每个条目都应该对应应用运行时真正需要的设备能力。
  • Metal key 表示应用需要 Metal 图形 API,session 提到它来自 A7 芯片和 GPU 之后的能力。
  • ARKit key 表示应用需要支持 AR 的设备,session 提到典型门槛是 A9 或更新芯片。
  • 列表里的项目会影响分发,不能把可选功能写成必需能力。

A12 性能能力面向少数高负载体验

01:45)iOS 14 新增的性能 key 要求设备使用 A12 Bionic 或更新芯片。它面向的是性能密集型应用和游戏,用来支持接近主机、PC 或桌面级专业软件的体验。

关键点:

  • 这个性能 key 表示应用要求 A12 Bionic 或更新设备。
  • 它在 iOS 14 和 Xcode 12 中提供。
  • session 把它放在“高端游戏”和“专业应用”的语境里,不适合普通功能随手启用。
  • 启用后,旧设备用户会被 App Store 拦在安装前,产品可达用户范围会变小。

A12 门槛包含一组硬件能力

02:15)A12 Bionic 的要求不是一个抽象标签。session 列出了它代表的能力:6 核 CPU、4 核 GPU、第二代 Neural Engine、ARKit 3 的人物遮挡和动作捕捉,以及 Metal GPU Family Apple 5。

关键点:

  • CPU 和 GPU 能力对应持续计算、渲染和游戏负载。
  • 第二代 Neural Engine 是 A12 门槛的一部分,适合依赖专用芯片能力的高负载体验。
  • ARKit 3 的人物遮挡和动作捕捉适合更复杂的 AR 体验。
  • Metal GPU Family Apple 5 给图形和计算管线提供更高的功能基线。

在 Xcode 里声明,并用 TestFlight 验证

03:01)声明方式在 Xcode 中完成。打开应用的 Info.plist,添加一项 Required Device Capability,然后从下拉菜单选择 A12 requirement。session 最后建议用 iOS 14 beta 和 TestFlight 验证这个新 key。

关键点:

  • 先做性能优化,尽量让应用覆盖所有支持 iOS 14 的设备。
  • 只有在少数体验确实需要最新硬件时,才把最低要求提升到 A12 Bionic。
  • Xcode 12 会在 Info.plist 编辑器中提供 A12 requirement 选项。
  • App Store 会向用户显示设备是否支持应用,并阻止不支持的设备下载。
  • 发布前用 iOS 14 beta 和 TestFlight 验证分发行为。

核心启发

  • 做什么:为高端画质模式做独立分发门槛。为什么值得做:A12 key 允许团队把最低设备锁定到 A12 及更新芯片,避免旧设备安装后得到不可接受的帧率。怎么开始:先用 Metal 性能工具完成全设备优化,再在 Xcode 的 Info.plist 中选择 A12 requirement,用 TestFlight 检查兼容设备列表。

  • 做什么:把专业视频、音频或 3D 编辑功能拆成高性能版本。为什么值得做:session 明确把桌面级专业应用列为适用场景,A12 的 CPU、GPU 和 Neural Engine 能给实时预览、导出或本地推理提供更稳定基线。怎么开始:列出必须实时完成的工作负载,确认旧设备无法通过降级方案达标,再为高性能 SKU 声明 A12 能力。

  • 做什么:为高级 AR 体验设定硬件下限。为什么值得做:A12 要求包含 ARKit 3 的人物遮挡和动作捕捉,适合依赖这些能力的多人互动、运动捕捉或空间演示。怎么开始:在功能矩阵里标出 ARKit 3 依赖项,先判断是否能提供基础模式;如果核心体验离不开这些能力,再声明 A12 requirement。

  • 做什么:在发布流程里增加“安装门槛审查”。为什么值得做:Required Device Capabilities 会直接影响 App Store 下载资格,错误声明会损失可触达用户。怎么开始:每次修改 Info.plist 后,用 TestFlight 在不同设备账号上验证可安装性,并把 App Store 兼容提示纳入发布检查清单。

关联 Session

评论

GitHub Issues · utterances