Xcode 5.1-没有要编译的架构(ONLY_ACTIVE_ARCH = YES,

更新到Xcode 5.1之后,我无法再为64位模拟器构建项目,收到此错误:


 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

这些是我的目标构建设置:


Xcode目标构建设置


我尝试将“构建活动体系结构”更改为“否”,并在“有效体系结构”中添加“ i386”,但不幸的是,这两个方法均无效。感谢您的任何建议!


ios xcode xcode5.1


小唯快跑啊
浏览 748回答 3
3回答

慕的地8271018

您需要做的只是将其设置ONLY_ACTIVE_ARCH为NO(至少对我有用)。下面是它的屏幕截图:编辑:据我所知(请指出,如果有什么问题,谢谢),如果将其设置ONLY_ACTIVE_ARCH为YES,则意味着Xcode仅针对活动架构(这是指当前在Xcode中活动的设备)构建。似乎Xcode的默认设置将Debug设置为YES,因此当您只想为连接到Mac的特殊设备进行构建时,它不会为其他体系结构构建二进制文件。构建失败的原因可能是该项目不支持您所连接设备的体系结构。因此,最好的解决方案是为您的设备添加正确的体系结构。以下是架构和支持的设备的列表:ARMv8 / ARM64: ,iPhone 6,,iPhone 5siPad AirRetina iPad MiniARMv7s: ,,iPhone 5iPhone 5ciPad 4的ARMv7: ,iPhone 3GS,iPhone 4,iPhone 4S,iPod 3G/4G/5G,iPad,,iPad 2iPad 3iPad MiniARMv6的:iPhone,iPhone 3G,iPod 1G/2G那么,为什么“设置ONLY_ACTIVE_ARCH为NO”有效?因为设备仍然可以运行为您添加的所有体系结构构建的二进制文件(通过构建),但是会损失一些性能。这只是一个快速的解决方案,但不是最好的。注意:添加的架构越多,生成的二进制文件越大。因此,为您的项目选择正确的体系结构是很好的。;)

墨色风雨

如果您使用的是CocoaPods,则最可能的问题是因为Pods项目“ 仅用于构建活动架构的构建设置”对于调试设置为“ 是 ”。解决方案很简单。将其更改为无。同样,将您的应用程序项目更改为No。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS