如何仅定位较新的 iOS 设备?

How to only target newer iOS devices?

我正在构建 Metal 应用程序。一些硬件,比如 iPad mini 2,不是太强大,我的应用程序不能 运行 它支持 iOS 12,所以改变我的 iOS 目标不会帮助阻止从该设备安装。

我想支持 A9 或更好,也许 A8,而不是 A7 或更糟。

我目前的 Valid Architecturesarm64 armv7 armv7s。我的 iOS 目标是 iOS 10.

你们使用什么构建设置来仅将较新的设备列入白名单?

遗憾的是,这比它应该做的要难,因为 Apple 在提供 capability keys 允许您针对特定设备和架构方面做得很差。相反,通常,您能做的最好的事情就是将您的应用程序设置为特定功能,这些功能(大致)对应于您认为足以 运行 您的应用程序的设备。

如果您想将您的应用程序限制在 A9 口径设备上,您拥有的最佳选择(据我所知)是将 arkit 值添加到 [=18= 中的 UIRequiredDeviceCapabilities 键].这将确保您的应用无法下载到 "underpowered" 台设备(配备 A8 处理器或更小处理器的设备)上。它并不完美,但是当涉及到防止在无法胜任任务的设备上出现糟糕的用户体验时,它几乎是工具箱中唯一的工具。