我已经有一段时间没有调整项目构建设置了。在升级到最近的SDK之后,我在构建我的临时分发配置时遇到了麻烦。

Build生成以下警告和错误:

警告:iPhone应用程序应该包含armv6架构(当前 arch = "armv7") iPhone/iPod Touch:应用程序可执行文件缺少一个必需的 体系结构。必须至少是以下架构中的一个 现在:armv6 (-19033)

然而,在我的项目中,我认为我的设置是正确的:

架构是:Standard (armv6 armv7) 基础SDK:最新的iOS(目前设置为iOS 4.2) 有效的架构:armv6 armv7

我已经清除了所有目标。

谢谢你的建议。


当前回答

请注意;我必须为我的基础项目和应用程序中嵌入的PhoneGap .xcodeproj文件执行这些步骤。

是的,我嵌入PhoneGap;它们更新得非常频繁,我在不到两个月的时间里就知道某个功能被贬低了。

其他回答

以下是苹果的文档:

技术问答q1760

它说有两件事你必须做对:

将armv6添加到架构构建设置中 将“仅构建活动体系结构”设置为“否”。

如果这仍然对你没有帮助,请仔细检查你是否真的将架构构建设置更改为正确的构建配置-我浪费了半个小时来摆弄错误的配置,并想知道为什么它不起作用…

选择编辑方案…在Product菜单中,点击左边列表中的“Archive”方案,并检查Build Configuration。如果不是您所期望的值,则更改该值。

我也有这个问题。我刚刚把我的部署目标设置为4.3,只留下armv7架构,它工作了。在某种程度上,几乎每个人都有5个,所以4.3就可以了。

我尝试了上面所有的答案,没有一个能解决我的问题。因此,我创建了一个新项目,并逐个区分构建设置。只有“备用权限文件”不同。 项目构建失败的值为armv7。删除它,然后清理->构建->存档。成功! 希望能解决你的问题

如果您取消勾选“只构建活动架构”,那么它将构建所有有效的架构。

更新:这不再适用于Xcode 4 -遵循尼克的指示Xcode 4及以后。

哇,我大约每6个月更新/提交一次应用。每次我做这件事,我都要学习“新的”方法。

当运行iOS 5.1和Xcode 4.3.2时,同样的问题

谢谢你的帖子!我花了一段时间将所有项目设置更新到armv6, armv7,但没有乐趣。当我将“只构建活动架构”设置为“否”时,我得到了一个关于将两个对象放在同一目录中的构建错误。

幸运的是,我注意到你们正在修改目标构建设置。这就是最终成功的方法(armv6, armv7,并在目标构建设置中将“仅构建活动架构”设置为“No”)。作为免责声明,我已经在项目设置中将所有架构设置为armv6和armv7。

不管怎样,谢谢你的帮助, 布兰特