ebi*_*ebi 166 xcode ios xcode5.1
更新到Xcode 5.1后,我无法再为64位模拟器构建项目,收到此错误:
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).
Run Code Online (Sandbox Code Playgroud)
这些是我的目标构建设置:

我尝试将"Build Active Architecture"更改为No,并将"i386"添加到"Valid Architectures",但遗憾的是两者都没有.谢谢你的任何建议!
Kju*_*uly 182
你需要做的只是设置ONLY_ACTIVE_ARCH为NO(至少适合我).下面是它的截图:
据我所知(如果出现问题,请指出它,谢谢),如果设置ONLY_ACTIVE_ARCH为YES,则表示Xcode仅针对活动架构(指当前在Xcode中处于活动状态的设备)构建.似乎Xcode的默认设置是Debug to YES,因此当您只想为连接到Mac的特殊设备构建时,它不会为其他体系结构构建二进制文件.
无法构建的原因可能是,该项目不支持您连接的设备的体系结构.因此,最佳解决方案是为您的设备添加正确的架构.以下是支持的体系结构和设备列表:
iPhone 6,,iPhone 5siPad AirRetina iPad MiniiPhone 5iPhone 5ciPad 4iPhone 3GS,iPhone 4,iPhone 4S,iPod 3G/4G/5G,iPad,,iPad 2iPad 3iPad MiniiPhone,iPhone 3G,iPod 1G/2G那么为什么"设定ONLY_ACTIVE_ARCH为NO"有效呢?因为设备仍然可以运行为您添加的所有体系结构构建的二进制文件(传递构建),但会丢失一些性能.这只是一个快速的解决方案,但不是最好的.
注意:您添加的架构越多,生成的二进制文件就越大.因此,为您的项目选择正确的架构是件好事.;)
Mik*_*ato 102
升级到XCode 5.1后,我收到了同样的错误消息.你在使用CocoaPods吗?如果是这样,这应该解决问题:
sam*_*ize 27
如果您正在使用CocoaPods,最可能的问题是因为您的Pods项目Build Build Architecture for Build Active设置为Yes for Debug.
解决方案很简单.将其更改为否.
同样,对您的应用程序项目更改为" 否 ".
为避免每次运行时"pod install"重置only_active_arch进行调试,您可以将以下内容添加到pod文件中
# Append to your Podfile
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
end
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127509 次 |
| 最近记录: |