应用程序可执行文件缺少必需的体系结构armv6


81

我正在使用xCode 4.2并尝试部署我的应用程序。我通过以下错误消息验证失败:

application executable is missing a required architecture armv6

我的体系结构的值设置为标准(armv7)。这是下拉列表中的唯一选项。基本SDK:iOS 5.0(这是唯一的选择)部署SDK:3.2仅构建活动体系结构:否有效体系结构:armv6 armv7 armv7f armv7k

有谁请知道解决这个问题的方法?



实际上,重复问题有一个不同的解决方案,那就是恢复到旧版本的xCode。我想知道对于当前版本,是否有某种方法可以解决此问题。
azamsharp 2011年

原来唯一的解决方案是卸载xCode 4.2并安装
xCode

1
由于iOS 5.0和Xcode 4.2是Beta版软件,因此它们仍处于NDA之下。最好的选择是在Apple开发人员论坛上讨论它们:devforums.apple.com。如果您在使用工具时遇到错误,请确保在bugreport.apple.com上提交报告。
布拉德·拉尔森

Answers:


83

在Xcode 4.2 GM中,这仍然是一个问题,但是您可以通过执行以下操作来解决。

  1. 切换到xcode项目中的文件/文件夹视图

  2. 选择您的项目(蓝色图标)

  3. 在屏幕中间的“目标”下选择您的“应用程序”。

  4. 转到构建设置

  5. 查找架构>分布

  6. 展开本节,以便您可以同时看到“调试”和“发布”

  7. 将“标准(armv7)-$(ARCH_STANDARD_32_BIT)”更改为“其他...”

  8. 用“ armv6”替换“ Standard(armv7)-$(ARCH_STANDARD_32_BIT)”,然后添加一个新项目“ armv7”

请记住,您可能需要对所有包含的项目(也称为TAPKU)进行此操作

在此处输入图片说明


我不太了解步骤8,请详细说明一下吗?
塞缪尔

4
如果从下拉列表中选择“其他”,则会得到一个带有网格的框,您可以在一行上添加armv6,在下一行上添加armv7。您添加的屏幕截图是错误的。
J3RM 2011年

那救了我。非常感谢 !
fyasar 2012年

1
确保将“仅构建活动体系结构”设置为“否”,否则,如果您连接到设备,它将仅针对该设备进行构建...
user739711 2012年

46

对于Xcode 4.5,将部署目标至少设置为iOS 4.3,即可解决该问题。armv6和早期版本的iOS几乎已绝迹。


2
非常感谢,已经让我头痛了两个小时!
RickJansen 2012年

2
是的,将目标设置为iOS 4.3也可以在最新的4.5.1中解决该问题... thx
Jim Jose

40

简单的方法:

1)左键单击项目图标(蓝色图标,在“运行”按钮下)。

2)在项目图标(在其右侧)旁边,在“ PROJECT”(白色背景)下左键单击项目名称

3)选择选项卡“ Build Settings”,然后找到子菜单“ Architectures”(第一个)。左键单击“标准(armv7)$(ARCH_STANDARD_32_BIT)”,然后选择“其他...”

4)单击“-”图标以删除原始值(“ $(ARCH_STANDARD_32_BIT)”)。单击“ +”图标,然后输入“ armv6”(不带双引号)。再次单击“ +”图标,然后添加“ armv7”(也不要使用双引号)。点击“完成”

5)确保将“仅构建活动架构”设置为“否”(应该是)

6)在项目图标(在其右侧)旁边,左键单击“ TARGETS”下的项目名称,然后重复步骤3、4和5。

7)按键盘上的cmd + I(或Xcode菜单上的Product- > Profile),然后检查是否一切正常。


3
我发现这些说明更加清晰,但不要忘了@ J3RM的重要说明:“记住,对于所有包含的项目,也就是TAPKU等框架,您可能需要这样做”
benvolioT 2011年

我的设置是将“仅构建活动架构”设置为true-感谢您的解决方案!
克里斯·布兰特

在步骤4中,您提到了单击完成。但是我看不到任何DOne按钮。:/我在这里想念什么吗?
rohan-patel

5

我的环境是Xcode 4.5.1。改变两件事为我解决了这个问题。

  1. 将部署目标设置为至少iOS 4.3。
  2. 在构建设置下的“架构”列表中仅保留armv7架构,并显式删除所有其他架构(包括armv6)。

是的,我也是。我的仅限iPad的应用程序拒绝构建,直到我从体系结构列表中删除了armv7。
Mike Gledhill

4

寻找警告的解决方案时,我偶然发现了这个问题:

warning: iPad: application executable is missing a required architecture.
At least one of the following architecture(s) must be present: armv7 (-19033)
Unable to validate your application. - (null)

其他答案不能解决我的问题,然后我意识到我改变了 CFBundleExecutable。当我回到原来的价值时,一切又恢复了平稳。

我不确定导致该警告的直接原因是什么,但至少我可以再次分发Ad Hoc构建。


真的很奇怪,得到了相同的警告以及一些不相关的警告。将CFBundleExecutableback的值更改为原来的值,一切正常。谢谢!
Adriano Lucas 2012年

3

使用Xcode 4.2.1,所有答案对我的情况均无济于事。

我所做的就是Architectures从更改armv7armv6 armv7并成功。像这样:

在此处输入图片说明


3

对于我来说,添加armv6只是解决Xcode 4.5相同问题的部分问题。我还必须将部署目标从iOS 4.1增加到iOS 5.0,才能使其正常工作。如此简单的修复导致许多小时的挫败感。希望能帮助到你。


5
将目标提高到4.3就足够了。
SK9 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.