iOS应用程序缺少所需的架构,即使已列出

18

在 Xcode 4 中构建 iOS 项目进行归档时,会出现以下错误:

iPhone/iPod Touch: application executable is missing a required architecture.  At least one of the following architecture(s) must be present: armv6 (-19033)

问题仍然存在。下面的屏幕截图显示了构建设置。我尝试过 所有常见的修复方法,但似乎没有一个起作用。

Xcode Build Settings

我的最终想法与第一个链接的问题有关。如果"标准"中没有列出armv6,这是否重要?如果是,应该如何添加?

这个项目是一个新的Xcode 4项目;只从默认设置中添加了一个视图控制器。


这里也有同样的问题,你解决了吗? - sarunw
@art 自从那以后我没有好好重新审视过它,但重新创建该项目似乎是有效的。 - nickcharlton
我的应用程序是一个旧版本,最近进行了更新,但在 iOS 部署目标小于 4.3 的情况下仍然会出现相同的错误!因此,我的解决方案(由于我使用的是 XCode 4.6,添加 armv6 也没有帮助)是删除所有对 armv6 的引用,并将其设置为 >=4.3。这样做很有效。 - Henrik Erlandsson
7个回答

15

我曾经遇到过同样的问题。在你的图片中,尝试将架构添加到架构字段中,并将其命名为armv6。对于我来说,这解决了问题。


可以了!我猜下一个问题是为什么armv6 armv7不是其中的一个附加选项。嗯,调整起来很容易!...等等,说得太早了,现在clang在armv6上失败并显示退出代码1。嗯。 - Joe D'Andrea
谁说这个解决方案是针对你的Xcode版本的?你没有说你有哪个版本。你可以编辑答案或添加一个好的评论,而不是投反对票。 - DarkLeafyGreen

8

项目 -> 编辑项目设置 -> 在构建选项卡中搜索“active”,然后取消勾选仅构建活动架构

如果取消勾选“仅构建活动架构”,则将构建所有有效的架构。


5
在新的Xcode(4.5)中,为了支持iPhone 5屏幕,我唯一成功的方法是将目标iOS版本设置为4.3作为最低要求(有效的arc应该是armv7,也可以包括armv7s,但必须删除armv6!)。其他我尝试过的方法,包括这里提供的所有答案都没有帮助,我得到了你提到的错误。

4

在发布版构建配置中,应从支持的平台中删除iphoneossimulator。它只用于调试配置项,不能用于发布配置项。

请参考下面的图片来查看发布配置项(忽略发布配置)。

enter image description here


4
我遇到了这个问题,非常困惑,因为出现的错误提示说需要armv6,因为我的部署目标低于4.3,但我确定我的部署目标是4.3。
我的项目中有两个目标,我正在查看“全部”的构建设置,而不是各个目标的设置。虽然“全部”设置显示部署目标为4.3,但各个目标的构建设置中显示的部署目标都是4.2,我不知道为什么。我为每个目标更改了这些设置,两个错误都消失了。

1

我的回答可能会对您有所帮助:

即使按照已接受的答案,我仍然遇到了这个问题,并发现以下方法可行:

在您的 Info.plist 中,添加一个必需设备功能条目。这应该是一个数组,并将有两个条目。

Item 0 : armv6
Item 1 : armv7

它将看起来像这样:

所需设备功能条目


0

"必须至少存在以下架构之一:armv7"

我遇到了这个错误信息,但它对我来说没有意义。

我的 iPad 应用程序的架构列表中已经包含了armv7,而且,“仅构建活动架构”设置为“否”。

但是 - 我的架构列表中还有armv7s

我将armv7s从列表中删除,然后错误消息就消失了。

enter image description here

也许在XCode 5中,苹果会将消息从

至少必须存在以下架构之一:armv7

更改为更准确的

只有以下架构必须存在:armv7

我抱有希望。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接