我应该在“体系结构”部分的Xcode构建设置中包含什么
我们之前为我们的通用iOS应用程序(这意味着我们同时支持iPhone和iPad)支持iOS 6 & 7。现在,随着iOS 8的发布,我们必须支持iOS 6,iOS 7 & iOS 8.此外,我们还必须扩展目标设备列表以支持iPhone 6和iPhone 6 Plus。我应该在“体系结构”部分的Xcode构建设置中包含什么
此外,我们计划很快升级到Xcode 6。因为Apple可以随时授权使用Xcode 6来将应用程序提交到应用程序商店。
记住所有上述要点,我很困惑Xcode构建设置中应该是我的架构设置。主要有Xcode体系结构设置下的3个重要项目。请看下面的截图。
我已经强调了三个重要的参数。我想知道我应该为这些参数分配什么值以支持上述所有内容。任何帮助将不胜感激。我对此有点困惑。
另外,我想知道如果我需要改变任何东西,以迁移到Xcode的6和iOS 8
在Architectures
,你会被罚款与armv7, armv7s, arm64, i386
,其中i386
是模拟器。剩下的可以保留默认值。
UPDATE:不要求以支持构建适用于iOS模拟器提桌面架构(i386
,x86_64
)。鉴于Simulator仅通过包含各自的ARM架构而得到支持。因此,Architectures
没有问题,只需填入armv7 armv7s arm64
即可。通过观察,自Xcode 6.3以来,如果设置包含任何桌面架构,甚至可能会导致构建失败。
Valid architectures
可以为每个目标单独设置,Xcode将使全局Architectures
设置与此相交。如果您不感兴趣,请不要触动它,Xcode将自行处理,而且不会出现任何问题。
如果您的代码未准备好64位,请从Architectures
中删除arm64
。应用程序仍然可以在iOS 8和所有最新的64位设备上运行。
至于Build Active Architecture Only
,我建议将它设置为No
。此属性影响Xcode决定构建的内容,例如基于当前连接的设备。但是可能会出现问题:您可能会因为一些目标针对不同的体系结构而最终结束,从而导致链接错误。尽管如此,如果您想使用该功能的优点,请将其设置为Yes
,仅用于Debug
或某种仅用于测试的配置,而不是最终版本。 Xcode将只为您在Architectures
x Valid
中设置的所有体系结构之一构建所有二进制文件。
如果您不是您的目标架构的专家,请移除所有架构并添加armv7和armv7s。另外,如果您只为IOS构建,请检查您的目标,以便XCode不构建其他操作系统(可能需要其他体系结构)。
我想要一个像这样的解释性答案。谢谢!! – 2014-09-27 14:14:13
这是不正确的。你应该只包括手臂架构。 Xcode会将32位arm解释为sim卡的i386,并将sim64的arm64移植到x86_64。 – 2014-09-28 06:18:27
证明它。我正是用我写的。 – lef 2014-09-28 19:48:13