上传到 iTunes Connect 时如何解决“应用程序代码验证失败”?

Posted

技术标签:

【中文标题】上传到 iTunes Connect 时如何解决“应用程序代码验证失败”?【英文标题】:How to solve "Application failed codesign verification" when uploading to iTunes Connect? 【发布时间】:2011-01-17 09:20:09 【问题描述】:

我遇到了一个无法通过在不同资源中进行深度搜索来解决的问题,因为大多数“相似”都指出是 Icon.png 大小等方面的错误...

我在验证后尝试上传我的应用程序:

在我的设备上正确构建和运行 我的证书安装正确 我的证书/个人资料没有过期。 Icon.png 的大小和格式为 57x57 PNG。 还有其他几件事。 运行 codesign --verify -vvvv MyApp.app 运行良好。 我的 ZIP 文件已正确完成

当我尝试通过 iTunes 连接界面上传时,我得到了上面的简单错误,这就是我尝试使用 ApplicationLoader 的原因,试图找出导致控制台错误的原因。

控制台显示如下:

16/02/10 13:25:52   ApplicationLoader[549]  *** Codesign error (please ignore invalid option comments): got requirements(0x800000, 534)
Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app/MyApp
Identifier=com.realtimed.MyApp
Format=bundle with Mach-O thin (armv6)
CodeDirectory v=20100 size=829 flags=0x0(none) hashes=33+5 location=embedded
Signature size=4333
Authority=iPhone Developer: My Name (XXXXXXXXX)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=16/02/2010 13:22:24
Info.plist entries=17
Sealed Resources rules=3 files=28
Internal requirements count=1 size=144

Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app/MyApp
got entitlements(0x800400, 317)
codesign_wrapper-0.7.3: using Apple CA for profile evaluation
codesign_wrapper-0.7.3: Caling codesign with the following args:
codesign_wrapper-0.7.3:    /usr/bin/codesign
codesign_wrapper-0.7.3:    --verify
codesign_wrapper-0.7.3:    -vvvv
codesign_wrapper-0.7.3:    -R=anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and certificate leaf[field.1.2.840.113635.100.6.1.4] exists
codesign_wrapper-0.7.3:    --entitlements
codesign_wrapper-0.7.3:    /var/tmp/signingbox/codesign_wrapper_entitlements.plist
codesign_wrapper-0.7.3:    /var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app
**/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app: valid on disk
/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app: satisfies its Designated Requirement
test-requirement: failed to satisfy code requirement(s)
codesign_wrapper-0.7.3: failed to execute codesign(1)**

任何关于如何解决这种情况的帮助/反馈或想法将不胜感激。

【问题讨论】:

【参考方案1】:

在深入查看日志文件后,我找到了解决这个问题的方法。

虽然我创建了自己的分发配置文件并为代码签名身份分配了开发者证书的正确值,但它没有给我一个错误:“应用程序代码签名验证失败”。

问题出在下面一行:

Authority=iPhone 开发者:我的名字 (XXXXXXXXX)

尽管在项目设置中为分发配置文件选择了正确的选择,XCode 还是使用开发人员证书对其进行编译。

我终于解决了:右键单击“目标”-> 获取信息-> 在那里选择了(不要问我为什么)错误的分发证书而不是正确的分发证书。

我纠正了这一点,最终被接受了。

相关链接(您需要一个开发者帐户): https://devforums.apple.com/message/147964

【讨论】:

不错!!!谢谢伙计...我尝试卸载xcode并重新安装两次,尝试修复权限并在启动时修复磁盘,尝试删除所有证书和配置文件并重新创建它们...等等...所有我需要点击几下来解决这个问题。苹果只是在杀死我,我经常遇到这个错误,而且每次都有不同的原因。总之非常感谢!!! 是的!提交我的应用程序时遇到了这个确切的问题。通过(我认为)每个下拉菜单将其切换到分发,但那个该死的菜单仍然停留在开发人员上。呸!非常感谢! 谢谢!在我的情况下,分发身份指向正确的证书,但发布身份没有。因此,请确保两者都选择了分发证书,而不仅仅是分发。 (我使用 XCode 中的存档选项)【参考方案2】:

优秀的帖子。我也遇到了这个麻烦,在头疼之后意识到应该检查项目和目标是否使用正确的代码签名身份。不知何故,Xcode 恢复到了开发者配置文件而不是 Distribution 配置文件。它甚至在我特意选择了正确的构建之后就这样做了!

我。为了安全起见,请先执行以下操作:

    清理所有构建。 在 finder 中删除 build 文件夹的内容。 从项目和目标设置中删除现有的代码签名身份。 重启 Xcode。

二。然后检查项目以获取正确的配置文件:

    转到Project Settings > Build Tab > Code Signing Identity 选择适当的分发配置文件

三。现在检查目标:

    Target > Get Info > Build Tab > Code Signing Identity 选择适当的分发配置文件

四。交叉手指,希望你再也不会看到那个该死的小黄色三角形。

【讨论】:

【参考方案3】:

Cy 采取了正确的方法来解决这个问题 - 当 “应用程序失败的协同设计验证” 是构建警告时,在构建日志中展开该项目并扫描 根本原因 i> 签名验证失败。

在 Cy. 的原始帖子中,您会看到根本问题是 “test-requirement: failed to meet code requirements(s)”,根据我的经验,这是几乎总是由使用错误的证书(即 iPhone 开发人员配置文件而不是 iPhone 分发)签名引起的。

根本原因并不总是一个明显的解释,但至少应该为您提供额外的搜索词或故障排除思路。

对于在 Xcode 存档验证或提交期间遇到“应用程序未能通过代码验证” 的其他人,请查看产品 > 存档时间中的构建日志以获取具有相同标题的构建警告,并将其展开为根本原因。然后在以下 URL "How do I resolve the error: Application failed codesign verification?" 上查看 Apple 的此错误的潜在原因的完整列表

【讨论】:

【参考方案4】:

检查目标(而不仅仅是项目)是否设置了正确的发布代码签名身份

【讨论】:

以上是关于上传到 iTunes Connect 时如何解决“应用程序代码验证失败”?的主要内容,如果未能解决你的问题,请参考以下文章

上传到 iTunes Connect 时“稍后再试”

将档案上传到 iTunes Connect 时出错

打开“TestFlight Beta 测试”时,iTunes Connect 中的外部测试人员始终保持“非活动”状态...如何解决此问题?

上传到 iTunes Connect 时出现签名错误

如何将我的 iOS / Mac OSX 应用程序上传到 iTunes Connect [重复]

尝试上传到 iTunes Connect 时无法找到最新的 iTMSTransporter 来下载 Bad Gateway