代码签名错误:找不到与应用程序标识符匹配的有效配置文件...

Posted

技术标签:

【中文标题】代码签名错误:找不到与应用程序标识符匹配的有效配置文件...【英文标题】:Code Sign error: a valid provisioning profile matching the application's Identifier ... could not be found 【发布时间】:2010-12-17 14:26:40 【问题描述】:

我已经与这个问题作斗争了好几天了,我即将把头撞到墙上,让自己摆脱代码签名/应用程序提交的痛苦。

我有一个应用程序已提交到应用商店并且没有任何问题(版本 1.0.0)。我能够通过应用程序加载器使用 XCode 3.2.4 和 ios 4.1 发布第一个更新(1.0.1 版),但稍作尝试。现在我在 XCode 3.2.5 和 iOS 4.2 上,并试图通过 XCode Organizer 发布更新(1.0.2 版)。

当我将 info.plist 中的 Bundle Identifier 设置为“com.myCompany.myApp”时,我可以根据 AppStore 分发条款成功构建我的应用程序。但是,当我尝试通过 Organizer 验证/提交构建时,我收到错误消息:“Bundle Identifier:com.myCompany.myApp 与之前的 bundle identifier ABC123XYZ1.com.myCompany.myApp 不同”。显然,当我第一次通过 iTunes connect 提交我的应用程序时,我使用了完整的 (AppId).BundleIdentifer 语法。我已经通过在 iTunes connect 中查看 Bundle ID 验证了这一点。

因此,从逻辑上讲,我在 Info.plist 文件中的捆绑标识符中添加了 AppId 前缀。当我这样做并尝试再次构建时,我收到“代码签名错误:无法找到与应用程序标识符匹配的有效配置文件......”。并且构建失败。

我已经尝试了所有我在互联网上阅读的关于这两个错误的所有内容,但没有解决问题。我处于catch 22的情况。我无法使用捆绑标识符中的 AppID 前缀构建应用程序,如果没有它,我无法将其提交给 iTunesConnect。此外,在尝试使用 Application Loader 上传应用时,也会出现 iTunesConnect 错误。

我准备将我的第一个孩子提供给任何可以帮助我摆脱代码签名/应用程序提交地狱的人!

【问题讨论】:

【参考方案1】:

因此,在等待 iTunes 团队的答复 2 个月后,我已经找到了解决此问题的方法并上传了我的应用程序。关键是使捆绑标识符与在 iTunesConnect 中注册的捆绑 ID 匹配。在这种情况下,iTunesConnect 中的捆绑包 ID 采用 1234567890.com.companyname.appname 的形式。当我第一次创建我的应用程序时,我已经包含了捆绑种子 ID,在 iTunesConnect 中创建应用程序时,我的研究中不应该包含这些种子 ID。

为解决此问题,我在配置门户中以 1234567890.1234567890.com.companyname.appname 的形式创建了一个新的 App ID,然后基于这个新的 AppID 创建了一个新的分发移动配置。我在 xCode Organizer 中下载并安装了移动设备。在我的 xCode 项目的 info.plist 中,我将包标识符设置为 1234567890.com.companyname.appname。这允许 xCode 将移动配置与 info.plist 中指定的包标识符匹配,并使用与 iTunesConnect 中的包 ID 匹配的包标识符成功构建和签署我的应用程序。在管理器中,我能够成功验证并上传应用程序。

【讨论】:

我不得不处理同样的问题。非常感谢! 这在 Unity 中拯救了我。我在字符串中包含了捆绑 ID - 删除它可以使该条款得到认可。【参考方案2】:

就我而言,我必须首先使用 Cmd-B 构建应用程序。

这会弹出一个钥匙串窗口访问,要求我“允许”(或“始终允许”)Xcode 访问钥匙串。

只有这样我才能真正运行该程序以在我的 iPhone 上启动它。

显然,只打跑步并没有成功。

(顺便说一句,记得先用“iPhone Developer: Your Name ()”键为您的应用签名。

【讨论】:

【参考方案3】:

即使您的捆绑标识符已更改这听起来很奇怪,但我想到了一件事,您可以尝试一下。

创建一个新的配置文件,其标识符与您用于提交应用的第一个版本的标识符相匹配。

【讨论】:

我创建了一个新的 AppStore Distribution 配置文件并将其绑定到与创建原始应用程序 ID 相同的应用程序 ID。我遇到了同样的问题。当 info.plist 中的 Bundle Identifer 包含 App ID 前缀时,XCode 无法识别配置文件。我无法使用相同的捆绑标识符创建新的 App ID,因为这是不允许的。我不想使用不同的捆绑标识符创建新的 App ID,因为我相信这会断开应用程序与其先前版本的连接。 所以,无论出于什么奇怪的原因,您在 iTunes 连接中的 bundle-id 包含应用程序 ID,它不应该。如果是这样,我会联系支持,因为您没有在 iTunes Connect 中手动输入您的 bundle-id,而是选择一个已经存在的 app-id。 (也许在我第一次提交应用之前情况有所不同) 没错。 iTunesConnect 中的 Bundle ID 是“AppID.com.myCompany.myApp”。我想当我在 iOS 3.1.3 时代第一次提交我的应用程序时,iTunesConnect 允许我包含 AppID。因此,我唯一的办法是联系 Apple,看看他们是否可以更改它(我对此表示怀疑),或者是否可以在 info.plist 的 Bundle Identifier 字段中输入“AppID.com.myCompany.myApp”并让 xCode 识别我有有效的移动设备? 迈克,你联系苹果了吗?到目前为止有什么进展吗? 我还没有收到 Apple 的回复。我通过 iTunesConnect 联系我们页面提交了两个请求,但没有得到回应。我目前有一个 iOS 开发者支持请求,正在等待回复。【参考方案4】:

我遇到了同样的问题,根据上面 codeySmurf 的建议,我能够重用相同的 id 并消除了该错误。

【讨论】:

以上是关于代码签名错误:找不到与应用程序标识符匹配的有效配置文件...的主要内容,如果未能解决你的问题,请参考以下文章

XCode 4.5 中的代码签名身份

Xcode 错误:没有具有与捆绑标识符匹配的有效签名身份的配置文件

找不到与应用程序标识符匹配的有效配置文件

在密钥链中找不到与此配置文件匹配的有效签名身份

Xcode代码符号错误[重复]

如何熟悉代码签名问题?