对于我的应用程序所依赖的所有库项目,升级到 xcode 4 后,我收到一个错误。
[BEROR]没有要编译的架构(ONLY_ACTIVE_ARCH=YES,active arch=i386,VALID_ARCHS=armv6)。
看起来您所要做的就是将 i386 添加到构建设置中的有效架构中。我正在为模拟器编译,这就是它抱怨的原因。
这看起来很奇怪,因为该项目在升级之前运行良好。在我看来,您必须为升级的任何项目执行此操作。至少现在可以。
见https://devforums.apple.com/message/376732#376732
“没有要编译的架构”意味着“有效架构”字段为空。将其更新为
$(ARCHS_STANDARD_32_BIT)
,您将看到通常的 armv6 armv7。在将“Base SDK”更新为“Latest SDK”后,有时会在 XCode 4 GM 中发生这种情况。
打开 project.pbxproj(显示 xcodeproj 文件的包内容),删除所有带有 的行VALID_ARCHS = "...";
,然后重新启动 Xcode。
很奇怪。我遇到了同样的错误,调试和发布“有效架构”都设置为 armv6 和 armv7。(相同的代码在 Xcode 3.2 中编译得很好。)我最终删除了这两个设置,然后明确地将它们设置为 $(ARCHS_STANDARD_32_BIT) ...这反过来又转换为 armv6 和 armv7 ...现在编译得很好。不需要 i386。唔 ...
如果此错误与 Phonegap 一起发生,解决方案是:
将构建设置中的“i386”添加到“有效架构”:用于您的项目和库(PhoneGapLib.xcodeProj)。在项目和目标这两种情况下。
当我尝试在最新的 Xcode 中转换为自动引用计数时出现此错误。我通过将“x86_64”添加到有效架构列表中来修复它,这使我可以继续构建。
以防万一其他人遇到同样的问题,我想我会投入对我有用的东西!
与 xcode6 有类似的问题,升级 xcode 时似乎弹出,尝试了所有建议但没有成功对我有用的是在新的 xcode 创建了一个简单的新应用程序(选项卡式)并确保我的应用程序具有相同的架构设置
打开一个新项目并在 Xcode 4 中编译,然后将构建设置与转换后的项目进行比较。我就是这样找到它的。