应用程序未通过协同设计验证。我该怎么办?

发布于 2024-09-26 12:50:50 字数 1229 浏览 0 评论 0 原文

当我构建要发布的应用程序时,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:无法执行 codesign(1) -(空)

Xcode gives me this warning when I build the app for release.

Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)

Do I need to delete all entries from my keychain and redo getting a certificate, provisioning profile, etc?

I can build and debug on the iPhone and iPad without a problem.

If you know how I can solve this dilemma, please provide exact steps or a way for me to contact you about this.

Thanks

----UPDATE -----

Build Log

Validate 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"

warning: Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)
Executable=/Users/iosdeveloper/Documents/Programming/iPad/iApp HD/build/Release-iphoneos/iApp.app/iApp
codesign_wrapper-0.7.10: using Apple CA for profile evaluation
/Users/iosdeveloper/Documents/Programming/iPad/iApp HD/build/Release-iphoneos/iApp.app: valid on disk
/Users/iosdeveloper/Documents/Programming/iPad/iApp HD/build/Release-iphoneos/iApp.app: satisfies its Designated Requirement
test-requirement: failed to satisfy code requirement(s)
codesign_wrapper-0.7.10: failed to execute codesign(1)
- (null)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

绮烟 2024-10-03 12:50:50

这是我遇到此问题时要执行的清单:

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

  2. 对您的项目执行“获取信息”,确保正确选择“代码签名权利”和“代码签名身份”。对您的目标执行相同的操作。

  3. 登录到 iOS 配置门户并确保分发证书尚未过期。另请检查分发配置文件并确保其处于活动状态。确保证书正确地位于您的钥匙串中,并且分发配置文件位于 Xcode Organizer 中(如果您有多个相同的证书,请删除除正确证书之外的所有证书,然后重做第 2 步)。

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

Here's the checklist I go through when I've hit this:

  1. Clean all targets, exit Xcode, then go drag the build folder from your project to the trash.

  2. Do the Get Info on your project, make sure the Code Signing Entitlements and Code Signing Identity are selected correctly. Do the same for your Targets.

  3. Login to the iOS Provisioning Portal and make sure the Distribution certificate has not expired. Also check the Distribution Provisioning Profile and make sure it is Active. Make sure the Certificate is properly in your Keychain and the Distribution profile is in Xcode Organizer (if you have multiple of the same one, delete all but the correct one and redo step #2).

  4. Look at your Build Results on the failure and identify which profile it is actually using and make sure it is the right one.

玩物 2024-10-03 12:50:50

您可能需要检查在发行版构建属性中选择了哪些代码签名配置文件。

You probably need to check what code signing profile is selected in your distribution build properties.

帝王念 2024-10-03 12:50:50

看起来您的目标是“开发”,但 Xcode 对它应用了一些分发设置,因此该警告仅意味着您的临时构建没有有效的 AppStore 提交证书。转到您的目标设置,选择发布配置并取消选中“验证内置产品”选项。

It looks like your target is "Development" but Xcode applied some of distribution settings to it, so the warning simply means your ad-hoc build has no valid AppStore submission certificate. Go to your target settings, choose the Release configuration and uncheck "Validate Built Product" option.

埋情葬爱 2024-10-03 12:50:50

应用程序未通过协同设计验证。签名无效,或者不是用Apple提交证书签名的。 (-19011)
我收到相同的警告消息...

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

Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)
i am got the Same Warning Message...

I just Changed to iOs Deployment target 4.3 to 3.2.2 its works perfectly .....

淑女气质 2024-10-03 12:50:50

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

Note: you may have to go to XCode's "Project" and select "Edit Active Target (appname)",
which is near the bottom of the list ... in the new pane that opens, select "Build", then
under "Code Signing Identity" select your distribution provision. Note that this seems
to be editing a different thing than "Project" / "Edit Project" (editing "target" instead
of "project"). I found I had to edit both project and target's code signing identities.

地狱即天堂 2024-10-03 12:50:50

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

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

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

I had exactly the same problem. It was due to installing Xcode 4.0.2 and 4.2 preview 3 at the same time. Removed both (through the provided uninstall scripts):

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

Then rebooted and installed 4.0.2 and it works :/

爱你是孤单的心事 2024-10-03 12:50:50

我发现协同设计过程很令人头疼——当我准备好使用 Ad Hoc 发行版进行 Beta 测试时,我总是不寒而栗。在通常的一轮错误和失败的修复尝试之后,我忽略了“应用程序失败的协同设计”错误,并将构建发送给 Beta 测试人员。它工作没有问题。

非常令人沮丧。

I have found the codesign process a headache - I always shudder when I get am ready to use Ad Hoc distribution to beta test. After the usual round of errors and failed fix attempts I ignored the "application failed codesign" error and sent the build to a beta tester. It worked without issue.

Very frustrating.

青春如此纠结 2024-10-03 12:50:50

在原始帖子的 -UPDATE- 部分提供的构建日志中,签名验证失败的根本原因用以下文本表示:
“测试要求:代码未能满足指定的代码要求”。签名验证失败的特殊情况几乎总是由错误地使用 iPhone 开发者配置文件而不是 iPhone 分发配置文件对应用程序进行签名造成的。

可以通过“如何验证用于签署我的应用程序的证书?”。如果证书“Identity”是“iPhone Developer: YOUR_NAME”而不是“iPhone Distribution: ...”,这就是“应用程序协同设计验证失败”错误的原因,您可以通过以下方式解决该问题:执行以下步骤:

1a)。如果您尚未创建 App Store 分发配置文件,请在 iOS 门户网站的“配置”部分

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

1b)。如果您相当确定 Xcode 配置文件库中安装了 App Store 分发配置文件,则可以使用 如何确认我的配置文件是用于 App Store 分发?

2).使用以下部分中的步骤验证您的方案“存档”任务是否已映射到“发布”:
创建应用程序存档

3)。使用部分中的步骤检查您是否已将 App Store 配置文件分配给您的“发布”代码签名身份
"分配配置用于构建配置的配置文件”。

注意:在目标级别构建设置(与项目级别的构建设置)进行这些更改非常重要,因为目标设置会覆盖项目设置...您可以将项目级别构建设置视为“默认”用于填充目标设置(以及任何未来的目标)。另外,确保按下“目标构建设置”左上角的“全部”按钮以显示“代码签名身份”部分。

4)。重试您的产品>档案。

如果执行上述操作后问题仍然存在,我建议继续查看 Apple 的完整潜在原因列表,网址为:"如何解决错误:应用程序未通过协同设计验证?"

In the build log provided in the -UPDATE- section of the original post the root cause of the failed signature verification is expressed with the text:
"test-requirement: code failed to satisfy specified code requirement(s)". That particular flavor of failed signature verification is almost always caused by mistakenly signing your app with an iPhone Developer profile instead of an iPhone Distribution profile.

It can be confirmed with the steps in "How do I verify the certificate that was used to sign my app?". If the certificate "Identity" is "iPhone Developer: YOUR_NAME" instead of "iPhone Distribution: ..." that is the reason for the "Application failed codesign verification" error, and you can resolve it by performing the following steps:

1a). if you have not yet created an App Store Distribution Provisioning Profile yet, that is done on the "Distribution" tab of the "Provisioning" Section of the iOS Portal site.

Note, the "Distribution" tab is only available to Team Members whose role is either "Agent" (the one who signed up for the iOS Developer Program), or "Admin" (those that the Agent grant access to app-distribution capabilities).

1b). if you're fairly certain you have an App Store Distribution Provisioning Profile installed in your Xcode profile library, you can verify it is an App Store profile as well as the App ID associated to it by using the steps in section How do I confirm my Provisioning Profile is for App Store distribution?

2). verify that your Scheme 'Archive' task is mapped to "Release" using the steps in section:
"Creating an Application Archive"

3). check that you have an your App Store provisioning profile assigned to your "Release" Code Signing Identity using the steps in section
"Assigning Provisioning Profiles to Build Configurations".

Note: it's important to make these changes at the Target level Build Settings, versus the Project level ones, as Target settings override Project ones...you can think of the Project level build settings as 'defaults' to populate target settings (and any future targets) with. Also, Ensure the "All" button is depressed in the upper-left corner of Target Build Settings to reveal the "Code Signing Identity" section.

4). retry your Product > Archive.

If the issue persists after the above, I recommend continuing onto Apple's complete list of potential causes of this error at the following URL "How do I resolve the error: Application failed codesign verification?"

无法言说的痛 2024-10-03 12:50:50

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

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

祝你好运!

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

My problem was solved when I noticed that I only had a "team" provisioning profile, and the details in iOS Dev Center told me that it was not a profile fit for development because it had no device attached. So I created a second provisioning profile, which let me check the box for my device so that it had a device attached.

Then when validating or submitting the app from the Organizer window (after pressing 'Build and archive'), I first made the mistake of selecting this new profile as the code signing profile. That was wrong. The profile that worked was iPhone Developer.

Good luck!

PS: This whole submission process is a heap of abacadabra. Do you really have to create a zillion distribution profiles, provisioning profiles, etc.? It hasn't encouraged me in any way to better test my app. I already did that before I chose to upload, and clicking a hundred buttons labeled 'Create','Download' and 'Submit' isn't really a quality control process that added anything (well except being forced to buy an iPad and test on that). Who ever said iOS was developer friendly?

陌路终见情 2024-10-03 12:50:50

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

My problem was that the Archive scheme did not have Build Configuration of App Store, but of Release. To change this, go to Product -> Edit scheme, select Archive on left side and change Build Configuration to App Store. I am assuming the code signing is configured properly (with distribution certificate).

梦在夏天 2024-10-03 12:50:50

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

You probably created a new certificate without refreshing the provisioning profiles

短叹 2024-10-03 12:50:50

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

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

希望有帮助。

I solved this by deleting the Archive that's not validating from the Organizer, closed and reopened Xcode and built for Archiving again.

I then chose Archive from the drop down menu. After doing that my app passed validation.

Hope that helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文