【发布时间】:2020-12-16 19:05:18
【问题描述】:
本周我在 Xcode 上为 2 个不同的应用程序创建了 2 个新项目。由于某种原因,其中一个项目总是无法为设备目标编译。然后我意识到两个项目的设备目标不同。对于工作项目“Any iOS Project (arm64)” 构建失败的项目有“Any iOS Project (armv7, arm64)”
是什么导致设备目标如此变化,有什么区别?
【问题讨论】:
本周我在 Xcode 上为 2 个不同的应用程序创建了 2 个新项目。由于某种原因,其中一个项目总是无法为设备目标编译。然后我意识到两个项目的设备目标不同。对于工作项目“Any iOS Project (arm64)” 构建失败的项目有“Any iOS Project (armv7, arm64)”
是什么导致设备目标如此变化,有什么区别?
【问题讨论】:
armv7 是早期 iOS 版本up till 10.3.4 支持的 32 位架构。 arm64 是 64 位架构,由 newer devices 支持。
如果您的项目的最低 iOS 版本低于 iOS 11.0,Xcode 将自动选择 armv7 和 arm64。
如果 Xcode 没有自动选择所需的架构,可以在构建设置中添加,如下所示:
【讨论】: