我应该在“架构”部分的 Xcode 构建设置中包含什么

Ras*_*ick 5 ios6 ios7 xcode5.1 xcode6 ios8

我们之前的通用 iOS 应用程序支持 iOS 6 和 7(这意味着我们同时支持 iPhone 和 iPad)。现在,随着 iOS 8 的发布,我们必须支持 iOS 6、iOS 7 和 iOS 8。此外,我们必须扩展我们的目标设备列表以支持 iPhone 6 和 iPhone 6 Plus。

此外,我们计划很快升级到 Xcode 6。因为 Apple 可能随时要求使用 Xcode 6 才能将应用程序提交到应用程序商店。

牢记上述所有要点,我很困惑 Xcode 构建设置中的架构设置应该是什么。主要在Xcode Architectures设置下有3个重要项目。请看下面的截图。

在此处输入图片说明

我强调了 3 个重要参数。我想知道我应该为这些参数分配什么值以支持上述所有内容。任何帮助将不胜感激。我对此有点困惑。

另外,我想知道是否需要更改其他任何内容才能迁移到 Xcode 6 和 iOS 8。

lef*_*lef 5

在 中Architectures,您可以使用armv7, armv7s, arm64, i386i386模拟器在哪里。其余的可以保留默认值。

更新:无需提及桌面架构 ( i386, x86_64) 即可支持 iOS 模拟器的构建。仅通过包含相应的 ARM 架构就支持给定模拟器。因此,Architectures如果只填充armv7 armv7s arm64. 通过观察,从 Xcode 6.3 开始,如果设置包含任何桌面架构,它甚至可能导致构建失败。

Valid architectures可以为每个目标单独设置,Xcode 会将全局Architectures设置与此相交。如果您不感兴趣,请保持原样,Xcode 会自行处理,没有问题。

如果您的代码未准备好 64 位,请arm64Architectures. 应用程序仍将在 iOS 8 和所有最近的 64 位设备上运行。

至于Build Active Architecture Only,我建议将其设置为No。此属性会影响 Xcode 决定构建的内容,例如基于当前连接的设备。但是可能会出现问题出现:你可能最终会用一些目标来构建不同的架构,从而导致链接错误。尽管如此,如果您想使用该功能的优点,请将其设置为Yes仅用于Debug或某种仅用于测试的配置,而不是最终版本。Xcode 将仅为您在Architecturesx 中设置的所有架构之一构建所有二进制文件Valid