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

Ad Hoc application-identifier entitlement doesn't match?

我在尝试从 Organizer 执行 iOS 应用存档的 Ad Hoc 分发导出时从 Xcode 9 GM 收到以下错误消息。

Profile doesn't match the entitlement file's value for the application-identifier entitlement.

包标识符和 App ID 匹配。对于与 Xcode 8 相同的项目,我从未收到过此消息。那么新的不匹配在哪里?我需要在 Xcode 做什么?或者在 iTunes Connect 中创建 App ID 或 Ad Hoc 分发配置文件时是否有一些新设置?

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

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

有时 Xcode 如果您安装了旧版本的配置文件,我会感到困惑,我什至在过去看到过匹配通配符配置文件而不是预期配置文件的情况。因此,安装的 provProfs 可能会有一些 Xcode 混淆。您对 Xcode 8 没有问题但对 Xcode 9 有问题的事实可能解释了这一点。 Xcode 中的更改会导致行为发生变化。

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

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

然后返回 Xcode>首选项>帐户并执行 "Download Manual Profiles" 选项重新安装它们。如果它仍然不起作用,那么你就错过了一些东西。请参阅下面的调试提示。

关注 Dev 门户中 appID 的捆绑包 ID、目标的捆绑包 ID 以及您要签名的配置文件(确保它用于该 appID 的 AdHoc 构建)。至少有一个不匹配。

最后一个调试提示。 将您要签名的配置文件拖到 TextEdit(出于这个原因,我将其保存在我的 dock 中。)TextEdit 将显示信息在 provProf 中,因此您可以检查权利并确保它们符合您的期望。

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

Jenkins 和我的本地计算机都出现了同样的问题。 不确定它是如何修复的,但下面的一个成功了。

1:在 Target > General

中导航以构建风格

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

3: 然后选回实际的provisioning profile。它就像一个魅力。

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