应用程序验证失败。我该怎么办?

时间:2010-10-08 15:43:34

标签: iphone xcode ipad ios4 certificate

当我构建应用程序以供发布时,XCode会给我这个警告。

  

应用程序无法进行代码签名验证。签名无效,或者未使用Apple提交的证书签名。 (-19011)

我是否需要删除钥匙串中的所有条目并重做获取证书,配置文件等?

我可以毫无问题地在iPhone和iPad上构建和调试。

如果您知道如何解决这个难题,请提供确切的步骤或方式与我联系。

由于

----更新-----

  

构建日志

     

验证build / Release-iphoneos / iApp.app   cd“/ Users / iosdeveloper / Documents / Programming / iPad / iApp HD”   setenv PATH“/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin”   setenv PRODUCT_TYPE com.apple.product-type.application   /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation“/ Users / iosdeveloper / Documents / Programming / iPad / iApp HD / build / Release-iphoneos / iApp.app”

     

警告:应用程序验证码验证失败。签名无效,或者未使用Apple提交的证书签名。 (-19011)   可执行文件= / Users / iosdeveloper / Documents / Programming / iPad / iApp HD / build / Release-iphoneos / iApp.app / iApp   codesign_wrapper-0.7.10:使用Apple CA进行配置文件评估   / Users / iosdeveloper / Documents / Programming / iPad / iApp HD / build / Release-iphoneos / iApp.app:在磁盘上有效   / Users / iosdeveloper / Documents / Programming / iPad / iApp HD / build / Release-iphoneos / iApp.app:满足其指定要求   测试要求:未能满足代码要求   codesign_wrapper-0.7.10:无法执行协同设计(1)     - (null)

13 个答案:

答案 0 :(得分:12)

这是我点击时所经历的清单:

  1. 清理所有目标,退出Xcode,然后将构建文件夹从项目拖到垃圾箱。

  2. 对项目执行获取信息,确保正确选择代码签名权利和代码签名身份。为你的目标做同样的事情。

  3. 登录iOS Provisioning Portal并确保分发证书尚未过期。另请检查Distribution Provisioning Profile并确保它处于Active状态。确保证书在您的钥匙串中正确,并且分发配置文件在Xcode管理器中(如果您有多个相同的,删除除了正确的一个并重做步骤#2)。

  4. 查看有关失败的构建结果,并确定它实际使用的配置文件,并确保它是正确的。

答案 1 :(得分:10)

您可能需要检查分发构建属性中选择的代码签名配置文件。

答案 2 :(得分:3)

看起来您的目标是“开发”,但Xcode将一些分发设置应用于此,因此警告仅表示您的临时构建没有有效的AppStore提交证书。转到目标设置,选择Release配置并取消选中“Validate Built Product”选项。

答案 3 :(得分:0)

答案 4 :(得分:0)

应用程序无法进行代码签名验证。签名无效,或者未使用Apple提交的证书签名。 (-19011) 我收到了同样的警告信息......

我刚刚更改为iO部署目标4.3到3.2.2它的工作完美.....

答案 5 :(得分:0)

注意:您可能必须转到XCode的“项目”并选择“编辑活动目标(appname)”, 它位于列表底部附近...在打开的新窗格中,选择“构建”,然后 在“代码签名身份”下选择您的分发条款。请注意,这似乎 编辑与“项目”/“编辑项目”不同的东西(编辑“目标”而不是 “项目”)。我发现我必须编辑项目和目标的代码签名身份。

答案 6 :(得分:0)

我有完全相同的问题。这是因为同时安装了Xcode 4.0.2和4.2预览版3。删除了两者(通过提供的卸载脚本):

<Xcodedir>/Library/uninstall-devtools --mode=all

然后重新启动并安装4.0.2并且它可以工作:/

答案 7 :(得分:0)

我发现代码签名过程令人头疼 - 当我准备好使用Ad Hoc分发进行beta测试时,我总是不寒而栗。在通常的错误和修复尝试失败之后,我忽略了“应用程序失败的代码签名”错误并将构建发送给beta测试人员。它没有问题。

非常令人沮丧。

答案 8 :(得分:0)

在原始帖子的-UPDATE-部分中提供的构建日志中,失败的签名验证的根本原因用文本表示: “测试要求:代码未能满足指定的代码要求”。签名验证失败的特殊风格几乎总是由于错误地使用iPhone Developer配置文件而不是iPhone Distribution配置文件签署您的应用程序。

可以通过“How do I verify the certificate that was used to sign my app?”中的步骤进行确认。如果证书“Identity”是“iPhone Developer:YOUR_NAME”而不是“iPhone Distribution:...”,那就是“Application failed codesign verification”错误的原因,您可以通过以下方式解决执行以下步骤:

1a)中。如果您尚未创建App Store Distribution Provisioning Profile,则可以在"Provisioning" Section of the iOS Portal site的“分发”标签上完成。

注意,“分发”标签仅适用于角色为“代理”(注册iOS开发者计划的人)或“管理员”的团队成员(代理授予访问应用程序分发功能的权限)。

1B)。如果您非常确定Xcode配置文件库中安装了App Store Distribution Provisioning Profile,则可以使用 How do I confirm my Provisioning Profile is for App Store distribution?部分中的步骤验证它是App Store配置文件以及与之关联的App ID

2)。使用以下部分中的步骤验证您的Scheme'Archive'任务是否已映射到“Release”: “Creating an Application Archive

3)。使用步骤中的步骤检查您是否已将“App Store”配置文件分配给“Release”代码签名标识 “Assigning Provisioning Profiles to Build Configurations”。

注意:在目标级别的构建设置中进行这些更改非常重要,而不是项目级别的更改,因为目标设置会覆盖项目级别...您可以想到项目级别将设置构建为“默认值”以填充目标设置(以及任何将来的目标)。此外,确保在Target Build Settings的左上角按下“All”按钮以显示“Code Signing Identity”部分。

4)。重试您的产品&gt;档案

如果上述问题仍然存在,我建议您继续使用以下网址继续查看Apple的完整错误原因列表"How do I resolve the error: Application failed codesign verification?"

答案 9 :(得分:0)

当我注意到我只有一个“团队”配置文件时,我的问题就解决了,iOS开发中心的详细信息告诉我,它不适合开发,因为它没有附加设备。所以我创建了第二个配置文件,让我查看我的设备的框,以便它连接了一个设备。

然后,当从管理器窗口验证或提交应用程序时(按“构建和存档”之后),我首先错误地选择了这个新的配置文件作为代码签名配置文件。那是错的。有效的配置文件是iPhone Developer。

祝你好运!

PS:整个提交过程是一堆abacadabra。您是否真的需要创建一个庞大的分发配置文件,配置文件等?它没有鼓励我以任何方式更好地测试我的应用程序。在我选择上传之前我已经这样做了,点击标有“创建”,“下载”和“提交”的百个按钮并不是真正的质量控制过程,增加了任何东西(除了被迫购买iPad和测试之外)那)。谁曾说过iOS对开发人员友好?

答案 10 :(得分:0)

我的问题是Archive方案没有App Store的Build Configuration,而是Release。要更改此设置,请转到产品 - &gt;编辑方案,选择左侧存档并将构建配置更改为App Store。我假设代码签名配置正确(使用分发证书)。

答案 11 :(得分:0)

您可能在不刷新配置文件的情况下创建了新证书

答案 12 :(得分:0)

我通过删除未从管理器验证的存档,关闭并重新打开Xcode并再次为存档构建来解决此问题。

然后我从下拉菜单中选择了存档。完成后,我的应用程序通过了验证。

希望有所帮助。