17

当我更新我的第一个 iOS 应用程序时,我在验证它们时遇到了 2 个问题,

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

*Unable to extract entitlements from application: (null)

Info.plist 和构建设置都是默认设置,我唯一更改的是代码签名身份调试和发布到我的分发配置文件,应用程序 ID 和捆绑包 ID 相同。

4

13 回答 13

76

当我连接我的 iphone 5 并建立我的档案时,这发生在我身上。当我断开我的 iPhone 并建立我的档案时,一切顺利。

于 2013-01-04T21:33:28.507 回答
23

确保在项目和目标设置中都将“构建活动架构”设置为否,以及此处的答案“警告:iPhone 应用程序应包含 armv6 架构”,即使设置了构建配置

于 2013-03-28T11:29:41.080 回答
4

现在我解决了这个问题,这是一个非常简单的问题,它与我的可执行文件名称有关。

我的目标有一个无效字符(+)然后,当我上传我的应用程序时它显示一个问题(这个包无效,可执行文件名称不能包含这个字符....)然后我将可执行文件名称从 ${EXECUTABLE_NAME}到化学,但我的应用程序的注册名称是化学++。

然后验证显示其他问题,这是通过更改此产生的。

为了解决这个问题,我点击了项目 > 目标两次并更改了名称,没有无效字符( * . , + {} () ),所有问题都消失了。

然后上传成功。

(当我更改 Info.plist 可执行文件名称时,对于其他名称,它会产生不兼容,所以不要将其设为默认值( ${EXECUTABLE_NAME} ),如果您更改,它会产生其他问题。)

等待苹果评测!!!

于 2012-09-25T21:41:12.657 回答
4

确认的。我刚刚拔掉了我的 iPhone 5s 并重新存档了该应用程序。它完美无缺。

哎呀,我再也回不来这40分钟了。

于 2014-04-06T01:40:13.190 回答
3

我已连接iPhone 5s,但在验证我的应用程序时出现此错误

在此处输入图像描述

目标和项目的“仅构建活动架构”设置为NO可解决 此问题。

于 2014-02-07T09:27:39.913 回答
2

确保将所有目标、库和框架的“仅构建活动架构”设置为 NO。

于 2013-01-25T16:04:58.380 回答
2

当我拔下 iPad 时,警告就消失了,并且能够编译并上传到应用商店。

于 2013-03-27T02:16:04.710 回答
2

确保 armv7 后面没有逗号。

当我在目标设置中设置架构时,我写道:

armv7, armv7s

看起来不错,但是当我单击“其他”进行编辑时,我意识到它被设置为:

armv7,
armv7s

删除逗号 (,) 解决了该问题。

于 2014-04-23T15:04:27.057 回答
1

当我尝试验证我试图提交到应用商店的(仅限 iPad)应用时,我收到了三个错误:

1. iPad:应用程序可执行文件缺少所需的架构。必须至少存在以下架构之一:armv7。

实际上,我的所有架构设置中都有 armv7 和 armv7s,是的,我确实将“仅构建活动架构”设置为“否”。

为我解决的问题是从这个列表中手动删除 armv7s,只留下armv7只有这样,这个错误才消失。

“至少其中一种架构必须是 armv7”

2. 应用程序未通过协同设计验证。签名无效,包含不允许的权利,或者未使用 iPhone 分发证书签名。

嗯?以前,我一直在使用企业许可证构建这个 iPad 应用程序,以便在我们公司内进行 Ad-Hoc 分发。现在,我正在尝试使用开发人员许可证来构建它,这样我就可以将它部署到 App Store。

为了解决这个问题,我需要:

  • 在左侧窗口中单击我的项目

  • 在中间窗口中选择项目名称(在 Targets 下)

  • 选择构建设置选项卡

  • 在行选项卡下方,选择“基本”和“组合”选项。

  • 现在,在代码签名身份下,我需要确保我选择了与我的 Apple 开发人员帐户相关的代码签名,而不是企业帐户,这是专门针对该项目的。

3. 无法从应用程序中提取权利:(null)

咦?!

还记得应用程序刚刚命名的美好时光吗?使用 XCode,您的应用程序具有包名称、产品名称、可执行文件名称和包显示名称。

一些 StackOverflow 用户已经注意到了这一点,并指出了苹果文档的方向,以解释这些差异......但祝你好运。

对我来说,要解决这个问题,我只需要确保 Executable Name 和 Bundle Name(在* -Info.plist 文件中)相同,并且还与 Product Name 匹配。

令人沮丧的是,产品名称隐藏在上面第 2 部分中提到的选项卡下,即选择“构建设置”选项卡,然后在标题栏中选择“基本”和“组合”。

我希望这对其他开发人员有用。这一切都是使用 XCode 4.6.3 完成的,所以当 iOS 7 和 XCode 5 出现时,下个月肯定会过时。届时,您的应用可能还需要昵称和中间名。谁知道?

麦克风

www.MikesKnowledgeBase.com

于 2013-08-20T19:11:37.737 回答
1

检查目标和项目设置并将“Build Active Arch Only”设置为 NO。

于 2014-07-23T11:04:54.303 回答
0

我也遇到了同样的问题,已经解决了。。

事实证明,我的 Bundle/Executable 名称与项目名称不同。

转到项目 > 双击目标

将其重命名为 Bundle/Executable 名称,然后为 Release/iOS 设备构建

并且应用程序加载器将接受您的应用程序。

于 2013-07-15T18:47:55.440 回答
0

它说缺少所需的架构试试这个

  1. 转到目标“您的项目”
  2. 转到构建设置
  3. 查看Architectures中是否有armv7
  4. 如果不是,则将Architectures设置为armv7
  5. 清洁和建造。

如果已经有armv7,那么一定有问题。

希望能帮助到你!

于 2012-09-19T02:59:22.773 回答
0

该死的......这对我来说是一个错字。在设置架构时,我在第一个条目(armv7)的末尾放了一个逗号......这样它就被认为是无效的并被忽略了。删除这个额外的字符已经解决了任何问题......

永远不要忘记检查您的错字!

于 2014-11-23T21:53:34.043 回答