Ad Hoc 应用程序标识符权利不匹配?

Posted

技术标签:

【中文标题】Ad Hoc 应用程序标识符权利不匹配?【英文标题】:Ad Hoc application-identifier entitlement doesn't match? 【发布时间】:2017-09-19 04:47:37 【问题描述】:

我在尝试从 Organizer 对 ios 应用存档进行 Ad Hoc 分发导出时,收到了来自 Xcode 9 GM 的以下错误消息。

配置文件与授权文件的值不匹配 应用程序标识符权利。

bundle 标识符和 App ID 确实匹配。对于使用 Xcode 8 的同一个项目,我从来没有收到过这条消息。那么新的不匹配在哪里?我需要在 Xcode 中做些什么?或者在 iTunes Connect 中创建 App ID 或 Ad Hoc 分发配置文件时是否有一些新设置?

【问题讨论】:

您是否尝试清除派生数据并重新启动 XCode ?,如果不起作用,请尝试重新安装证书和配置文件 或者试试这个***.com/a/45754076/4601900 【参考方案1】:

不匹配存在于正在使用的配置文件中。我无法告诉您原因,但在签名期间,根据创建配置文件的门户 appID,从您的配置文件中提取了权利。您构建的目标的捆绑包 ID 与用于创建签名配置文件的门户的 appID 记录的捆绑包 ID 不匹配。

首先,确保配置文件是您打算使用的配置文件(门户 appID 的 AdHoc Distribution provProf 与您的目标的捆绑 ID 相匹配,如果看起来正确,请考虑重新生成 AdHoc 配置文件并使用 Xcode>Preferences >Accounts "Download Manual Profiles" 选项安装它。

如果您安装了旧版本的配置文件,Xcode 有时会感到困惑,而且我什至在过去看到过匹配通配符配置文件而不是预期的配置文件的时候。因此,围绕已安装的 provProfs 可能存在一些 Xcode 混淆。您使用 Xcode 8 没有问题但使用 Xcode 9 的事实可以解释这一点。 Xcode 的变化可能会导致行为的变化。

如果重新生成 provProf 并安装它没有帮助,我建议删除所有已安装的移动 provProf,然后重新安装它们。要删除它们,请打开终端窗口并输入

rm ~/Library/MobileDevice/"Provisioning Profiles"/*.mobileprovision

然后返回 Xcode>Preferences>Accounts 并执行“下载手动配置文件”选项以再次安装它们。如果它仍然不起作用,那么你错过了一些东西。请参阅下面的调试提示。

关注开发门户中 appID 的捆绑包 ID、目标的捆绑包 ID 以及您正在使用的配置文件(确保它是针对该 appID 的 AdHoc 构建的)。至少其中一个不匹配。

最后一个调试提示。 将您正在签名的配置文件拖到 TextEdit(我将它保存在我的 Dock 中几乎就是出于这个原因。)TextEdit 将在 provProf 中显示信息,所以您可以检查权利并确保它们符合您的预期。

希望这足以解决这个问题。

【讨论】:

退出 Xcode,从我的 Library/MobileDevice 目录中删除所有 *.mobileprovision 文件,然后在 Xcode Preferences 中下载手动配置文件,成功了。 尝试了许多其他没有帮助的建议解决方案(如其他地方所建议的那样),例如打开和关闭 iCloud 权利、清除派生数据和重新启动 Xcode 等。这个(删除和重新下载配置文件) ) 是唯一对我有用的东西。【参考方案2】:

Jenkins 和我的本地机器都出现了同样的问题。 不知道它是如何修复的,但在下面一个就可以了。

1:在 Target > General 中导航以构建风味

2:将配置文件更改为该构建风格中的其他内容并存档。

3:然后选择回实际的配置文件。它就像一个魅力。

对你的情况可能没有帮助,但它对我有用。

【讨论】:

以上是关于Ad Hoc 应用程序标识符权利不匹配?的主要内容,如果未能解决你的问题,请参考以下文章

应用商店 Ad Hoc 配置文件无 beta 权利

权利无效:在设备上安装 Ad Hoc 构建时出错

无法使新的 Ad Hoc 配置文件正常工作

配置文件与应用程序标识符和钥匙串访问组权利的权利文件值不匹配

iOS4.3 Entitlements.plist for Ad Hoc Distribution

不显示 Ad-Hoc 图标