应用程序未通过协同设计验证
Posted
技术标签:
【中文标题】应用程序未通过协同设计验证【英文标题】:Application failed codesign verification 【发布时间】:2010-08-13 05:31:35 【问题描述】:尝试将我的应用提交到应用商店时出现以下错误。我完成了初始配置过程,并且能够在我的手机上运行该应用程序,因此不确定出了什么问题。
Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate.
编辑:我尝试下载并安装分发配置文件,但我仍然收到错误消息。有什么方法我需要将这个新配置文件链接到我在 XCode 中的应用程序?谢谢!
编辑 2:我现在从 Apple 获得了一个分发配置文件,并尝试使用它进行编译。收到错误“找不到此可执行文件的有效配置文件。”
【问题讨论】:
试过重启 Xcode / 你的 iPhone / 你的电脑了吗? 是的,所有这些都试过了。甚至创建了一个新应用。 您是否尝试在您的设备上安装分发版本?那是行不通的。使用 App Store Distribution 配置文件构建仅用于提交到 App Store(使用已发布的非 beta SDK 构建时)。 【参考方案1】:验证以下内容:
创建分发配置文件时,请确保分发方式为“App Store”。 在项目设置中,转到 Build 选项卡并确保 Code Signing Identity 是您为 App Store 创建的分发配置文件 在 Target 设置中(双击项目中的 Target),转到 Build 选项卡并确保 Code Signing Identity 是您为 App Store 创建的分发配置文件建议您在项目设置中针对 AdHoc 和 App Store 构建进行配置。我发现在部署时它让生活变得更轻松。
【讨论】:
这是正确的答案,但要更详细地说明...在构建分发时,请确保在配置文件的项目设置中使用“iPhone分发”设置,这与“iPhone 开发”不同。因此,建议使用两个单独的配置。 (我一般有“Simulator”、“Device”、“AdHoc”和“Deployment”。)【参考方案2】:有关 Xcode 构建警告或存档验证错误“应用程序未能通过代码验证”,请参阅 Apple 的完整潜在原因列表,网址为“How do I resolve the error: Application failed codesign verification?”。
对于错误“找不到此可执行文件的有效配置文件”,通常在尝试通过 Xcode 在设备上运行您的应用程序时发生此错误,但您提到您正在上传应用程序到商店?确保您按照推荐的步骤将您的 ios 应用程序上传到商店,使用 “Steps to submit your app to the App Store”。
对于收到错误“未找到此可执行文件的有效配置文件”的其他人,请检查您是否按照 Apple 推荐的步骤通过 Xcode 在设备上运行“Steps to run your app on device thru Xcode”。
【讨论】:
非常感谢伙计 - 我花了 2 天时间!【参考方案3】:您可以双击 .mobileprovision 文件,或手动将其复制到 ~/Library/MobileDevice/Provisioning Profiles。然后它将显示在 Target 设置的配置弹出窗口中。
【讨论】:
在哪里可以找到 .mobileprovision 文件? 好的,从 Apple 获得了 mobileprovision 文件。现在,当我尝试编译时,我得到:“找不到此可执行文件的有效配置文件。”并且构建失败。有什么想法吗?【参考方案4】:为项目和活动目标设置配置文件。
点击项目 -> 编辑项目设置更改代码签名实体 单击 Project ->Edit Active Target 并在此处更改相同的代码签名实体。
你应该很高兴。!
【讨论】:
不需要在target上做,target继承项目设置。【参考方案5】:您确定您的配置文件是应用商店的分发配置文件,而不是开发/临时的吗??
【讨论】:
我刚刚下载并安装了一个分发配置文件,但我仍然收到错误消息。有什么方法我需要将这个新配置文件链接到我在 XCode 中的应用程序?谢谢!【参考方案6】:如果您错误地配置了应用程序的“权利”,也可能会导致此错误。检查 Xcode 的 Log Navigator(左侧选项卡中的最后一页)中的警告的好地方,并确保在归档项目时,构建日志中的 CodeSign 和 Validate 步骤旁边都有一个绿色勾号。
【讨论】:
【参考方案7】:我遇到了同样的问题,这就是我为使其正常工作所做的:
原来我的权利文件格式错误。
经过多次反复试验,我找到了问题所在。为了其他人的理智,这里是正确的配置:
application-identifier $(AppIdentifierPrefix)$(CFBundleIdentifier)
com.apple.developer.ubiquity-container-identifiers
Item 0 $(TeamIdentifierPrefix)$(CFBundleIdentifier)
这使它成功验证。我在任何地方都找不到此文档,因此希望对其他人有所帮助。
【讨论】:
【参考方案8】:这是一个未列出的解决方案,结果证明是我的问题(我花了 3 天时间才找到!)。将您的存档构建配置设置为发布。您可以通过进入 PRODUCT -> EDIT SCHEME -> ARCHIVE -> BUILD CONFIGURATION -> SET TO RELEASE 来执行此操作。
祝你好运!
【讨论】:
【参考方案9】:我在将 iCloud KVStore 激活为 Capability 时遇到了同样的问题:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.icloud-container-identifiers</key>
<array/>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string>
</dict>
</plist>
当我尝试将 'com.apple.developer.ubiquity-kvstore-identifier 标识符更改为主应用程序 KVStore 标识符时,Xcode 无法签署二进制文件,如
中所述Configuring Common Key-Value Storage for Multiple Apps
【讨论】:
以上是关于应用程序未通过协同设计验证的主要内容,如果未能解决你的问题,请参考以下文章
应用程序未通过协同设计验证。签名无效,或未使用 iPhone 分发证书签名。我该怎么办?