34

我对 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

不确定是什么

4

10 回答 10

75

出于某种原因,xCode 4.2 的默认架构设置仅适用于 armv7。转到 Target -> Build Settings -> Architectures -> Release on value 下拉选择“其他...”,

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

于 2011-10-07T01:01:43.180 回答
38

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

于 2012-09-14T01:28:27.343 回答
7

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

于 2011-10-05T15:20:48.887 回答
6

对于 XCode 4.5

如上所述,必须将“Deployment Target”设置为4.3,将“Architectures”设置为armv6 armv7 armv7s ,并将“Build Active Architectures Only”设置为No

这是一个在升级到 XCode 4.5 之前运行良好几个月的项目。

于 2012-10-12T17:56:15.880 回答
1

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

于 2013-02-06T09:10:04.010 回答
0

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

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

Item 0 : armv6
Item 1 : armv7

它看起来像这样:

所需的设备功能条目

于 2012-06-19T17:06:26.603 回答
0

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

iTunes Connect 应用程序缺少所需的架构

于 2011-09-18T03:10:35.520 回答
0

Xcode 4.2 版也有同样的问题。并且还出现了另一个错误:

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

将 Xcode 降级到旧版本后,它解决了这个问题。

于 2011-06-30T11:29:50.940 回答
0

我之前的回答被版主删除了,因为我没有遵守他们的规定。于是,再次回答。

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

我还在我的博客中添加了一些关于此问题的屏幕截图和信息:http: //iostipsntricks.wordpress.com/2011/06/24/solved-application-executable-is-missing-a-required-architecture-at-以下架构中的至少一个必须存在-armv6/

于 2011-06-25T01:29:42.120 回答
0

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

结果是 info.plist 文件必须在各自的字段中具有${EXECUTABLE_NAME}${PRODUCT_NAME}并且该方案+目标的构建设置中的产品名称应该与方案名称匹配我确保所有名称都完全匹配 EXECUTABLE_NAME, PRODUCT_NAME、目标中的产品名称、构建设置和信息 plist 中的二进制名称以及可部署的二进制名称 - 确保它们与目标名称本身匹配

一旦所有名称匹配并且架构匹配,它就起作用了。在那之前,它一直给我验证错误。

于 2013-08-13T15:55:00.553 回答