我应该在“架构”部分的Xcode构建设置中包含哪些内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我应该在“架构”部分的Xcode构建设置中包含哪些内容相关的知识,希望对你有一定的参考价值。

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

此外,我们计划很快升级到Xcode 6。因为Apple可能随时要求使用Xcode 6来向app store提交应用程序。

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

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

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

答案

Architectures,你可以使用armv7, armv7s, arm64, i386i386用于模拟器。其余的可以保留默认值。

更新:为了支持iOS模拟器的构建,不需要提及桌面架构(i386x86_64)。仅通过包含相应的ARM体系结构来支持模拟器。因此,如果只使用Architectures填充armv7 armv7s arm64是好的。通过观察,从Xcode 6.3开始,如果设置包含任何桌面架构,它甚至可能导致构建失败。

可以为每个目标单独设置Valid architectures,Xcode将使全局Architectures设置与此交叉。如果您对此不感兴趣,请保持不变,Xcode将自行解决这个问题。

如果您的代码不是64位就绪,请从arm64中删除Architectures。应用程序仍将在iOS 8和所有最近的64位设备上运行。

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

另一答案

如果您不是目标体系结构的专家,请删除所有体系结构并添加armv7和armv7。此外,如果您仅为iOS构建,请检查目标,以便Xcode不构建其他操作系统(可能需要其他体系结构)。

以上是关于我应该在“架构”部分的Xcode构建设置中包含哪些内容的主要内容,如果未能解决你的问题,请参考以下文章

sdl 目标 c++ 和 xcode 在游戏中包含 sdl 框架

浏览器显示 jpeg 的原始图像数据。我应该确保在响应中包含哪些标题?

Copy Bundle Resources 构建阶段在 xcode 6 中包含此目标的 Info.plist 文件“Info.plist”吗?

我应该在 App.js 中包含哪些组件?

如何在 XCode 3.2.5 项目中包含 Scintilla?

在 Hudson 的构建目标和标准发布方法中包含“mvn deploy”