iPhone / iPod Touch:应用程序可执行文件缺少必需的体系结构

时间:2011-06-18 03:39:29

标签: objective-c ios4 xcode4 xcode4.2

xCode 4.2存在问题。我在构建时遇到此错误:

2011-06-18 13:35:49.839 Validation[4110:607] *** Warning: Defaulting to the standard codesign tool
warning: iPhone/iPod Touch: application executable is missing a required architecture.  At least one of the following architecture(s) must be present: armv6 (-19033)
Unable to validate your application. - (null)

我查看了我的项目设置,它有:

architectures: Standard (arm7) - ${ARCHS_STANDARD_32_BIT)
Build active architecture only : NO

不确定是什么

10 个答案:

答案 0 :(得分:75)

由于某种原因,xCode 4.2的默认架构设置仅适用于armv7。 转到目标 - >构建设置 - >架构 - >发布 在价值下拉选择“其他......”,

删除$(ARCHS_STANDARD_32_BIT),并添加2行 首先是“armv6”,第二个是“armv7” 完成

答案 1 :(得分:38)

对于Xcode 4.5,将部署目标设置为至少iOS 4.3并解决它。早期版本的iOS几乎绝迹。

答案 2 :(得分:7)

不是最佳解决方案,但我发现如果我将部署目标更改为4.3(之前为4.0),则可以解决错误。

答案 3 :(得分:6)

对于XCode 4.5

如上所述,必须将“部署目标”设置为 4.3 ,将“架构”设置为 armv6 armv7 armv7s ,并将“仅构建活动架构”设置为

这是一个在升级到XCode 4.5之前可以正常工作几个月的项目。

答案 4 :(得分:1)

注意:如果您希望删除对应用程序的ARM v6支持,请在项目中将iOS部署目标设置为4.3或更高版本。运行版本低于4.2.1的iOS版本需要ARM v7处理器。

答案 5 :(得分:0)

主持人删除了我以前的回答,因为我没有遵守他们的规则。所以,再回答一下。

我遇到了同样的问题并浪费了2天。在我的情况下,升级到XCode导致它。我将XCode降级到之前的版本,并为我修好了。如果这是您的问题,请卸载新版本,重新启动,然后再次安装旧版本。那应该为你做。

我还在此处向我的博客添加了一些关于此问题的屏幕截图和信息:http://iostipsntricks.wordpress.com/2011/06/24/solved-application-executable-is-missing-a-required-architecture-at-least-one-of-the-following-architectures-must-be-present-armv6/

答案 6 :(得分:0)

与Xcode版本4.2完全相同的问题。还有一个错误:

There is no codesign:wrapper executable. Please reinstall the Xcode developer tools.

将Xcode降级为旧版本后,修复了问题。

答案 7 :(得分:0)

查看这篇文章,它是正确的,只需调整Xcode 4.2中的设置,只需将“Build Active Architecture only”设置为NO:

iTunes Connect application is missing required architecture

答案 8 :(得分:0)

我的回答可能会解决您的问题: 即使遵循接受的答案并发现以下情况,我也遇到了这个问题:

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

Item 0 : armv6
Item 1 : armv7

看起来像这样:

所需的设备功能条目

答案 9 :(得分:0)

有同样的问题,尝试了这里提到的所有内容 - 但仍然在验证时出错 - 我尝试了armv6和armv7步骤,尝试将其添加到info.plist中,并尝试重新生成分发证书以防万一。

原来info.plist文件必须在相应字段中包含 $ {EXECUTABLE_NAME} $ {PRODUCT_NAME} 此方案的构建设置中的产品名称+目标应该与方案名称匹配 我确保所有名字完全匹配 EXECUTABLE_NAME,PRODUCT_NAME,目标中的产品名称,构建设置和信息plist中的二进制名称以及可部署的二进制名称 - 确保它们与目标名称本身匹配

一旦所有名称匹配并且架构匹配,它就有效。在此之前,它一直给我验证错误。