签名(调试)不包括 beta-reports-active 权利

Posted

技术标签:

【中文标题】签名(调试)不包括 beta-reports-active 权利【英文标题】:Signing (Debug) doesn't include the beta-reports-active entitlement 【发布时间】:2016-10-11 14:51:51 【问题描述】:

在尝试设置 Xcode 8 的签名设置期间,我在开发配置文件中遇到以下错误:

配置文件“XXX”不包括 beta-reports-active 权利。

重新创建配置文件并没有帮助。我不太确定这种类型的配置文件是否需要 beta-reports-active 设置,因为我看到其他问题只有 AppStore 配置文件应该使用这些设置。

我将不胜感激任何帮助

更新:

AdHoc 配置文件有同样的错误,但 AppStore 配置文件适用于 Release。

【问题讨论】:

【参考方案1】:

我在尝试从 Xcode 9.0 构建 AdHoc 分发时遇到此错误。我错误地在签名(分发)和签名(发布)中选择了不同的配置文件。由于我对两者都做了同样的规定,错误就消失了。

希望这会有所帮助。

谢谢。

【讨论】:

同样的问题,但没有通过任何方法解决。 Xcode没有Signing(Distribution)项,怎么会在这里?【参考方案2】:

我已使用 beta-reports-active 设置了用于调试和发布配置的权利。删除路径后调试权限错误消失了。

如 Apple 文档中所述:

https://developer.apple.com/library/content/qa/qa1830/_index.html

beta-reports-active 是添加到 App Store 配置文件的新权利 2014 年 9 月,允许测试 App Store 代码签名的构建 使用 iTunes 连接

所以它不应该在其他版本中设置。

【讨论】:

拜托,您能否准确描述一下,您是如何删除path to Debgu entitlements 的?【参考方案3】:

我在尝试导出 AdHoc 构建时遇到了同样的错误(尽管 AppStore 运行良好)。

通过在项目设置常规选项卡中切换供应配置文件,从 AppStore 配置到 AdHoc 并再次存档,解决了这个问题。

【讨论】:

【参考方案4】:

我在尝试导出 AdHoc 构建时遇到了同样的错误。

通过将项目设置常规选项卡中的配置文件从 AppStore 配置更改为 AdHoc 并再次存档,它对我有用。

【讨论】:

【参考方案5】:

所以发生这种情况的原因是,在归档 xcodebuild 时,会打包为构建配置指定的配置文件,并为 IntermediateBuildFilesPath 中的所有二进制文件更新 .xcent 以匹配这些配置文件中指定的任何内容。

例如,如果您有多个配置,例如 beta 和 release,很可能您正在为其中一个和 release(app-store w/ @987654325)指定 beta(ad-hoc w/o beta-reports-active)配置文件@ 在其中)为另一个配置配置文件。

然后,在您存档 beta 配置后,您将可以选择导出存档 - beta 和发布分发(网站和 TestFlight),xcodebuild 不会抛出此错误,因为缺少使用的配置文件beta-reports-active 和当它为 App Store 分发签名(例如 TestFlight)时,它将选择正确的配置文件(假设您在传递给 -exportOptionsPlist 的 plist 中明确指定它们)。

现在,当您归档发布配置时,情况就不同了。现在 xcodebuild 打包了带有 beta-reports-active 标志的配置文件,并且 xcodebuild 不允许您出于任何原因使用 beta 配置文件导出(退出)。我认为这是一个实际的 xcodebuild 错误。

假设我所有的假设和对错误的理解都是正确的,那么无论是哪种配置,都应该在归档时始终使用 beta 配置文件,但稍后使用适当的配置文件导出。

【讨论】:

【参考方案6】:
No matching provisioning profiles found for "your.app" 
None of the valid provisioning profiles allowed the specified 
entitlements: beta-reports-active.

beta-reports-active 是添加到 App Store 配置文件的新权利 Apple doc state.

注意:Xcode Organizer 上的“验证”和“提交”功能 存档选项卡需要 App Store 配置文件。所以, Validate 或 Submit 不打算与 Development、Ad Hoc 一起使用 或企业版本。 Ad Hoc 或 Enterprise 发行版应跳过 直接导出。

    在证书 ID 和配置文件网站 > 配置配置文件页面上, 单击 App Store 配置文件。单击“编辑”单击“生成”创建 一个新的 App Store 配置文件,单击 Distribution 上的“+”按钮 配置文件页面。

    创建或更新您的 App Store 配置文件后,执行以下操作之一 以下是在 Xcode 中安装更新的配置文件:

    单击“下载”并将配置文件拖放到 Dock 上的 Xcode 图标 单击 Xcode > Preferences > Accounts > 上的“↺” (您的帐户)> 查看详细信息窗格

就我而言,它发生在我的队友创建新的分发证书和配置文件时。当我从“钥匙串访问”中删除现有的无效证书(显示为红色错误标记)时,它工作正常 另外,检查发布和调试方案是否使用各自的签名身份。

【讨论】:

【参考方案7】:

在我的情况下,使用 xcode 9.2 的解决方案是使用旧的构建方法,而不是新的方法来归档我的项目。 可能是Apple xCode上根本没有完善的东西,在9.3中似乎都没有,但我不知道您是否可以在9.3中选择方法。 我读到它已在 9.4 解决。

【讨论】:

【参考方案8】:

让我告诉你正确的答案。 默认情况下带有发布包的 Xcode 存档,当您使用发布包导出开发版本时会显示错误。 我们应该存档 Debug 包,在方案选项中更改它,然后导出开发版本。 KO!^_^

【讨论】:

【参考方案9】:

重新生成您的临时配置文件将解决此问题。要重新生成您的临时配置文件,请按照以下步骤操作。

Certs IDs & Profiles 网站 > Provisioning Profiles 页面上,单击 App Store 配置文件。

点击“编辑”

点击“生成”

使用新创建的临时配置文件重建您的应用并将其存档。 访问link

【讨论】:

以上是关于签名(调试)不包括 beta-reports-active 权利的主要内容,如果未能解决你的问题,请参考以下文章

调试 APK 工作时签名的 APK 文件不工作

为啥签名的发布 APK 不允许用户登录,但构建的调试 apk 允许?

在 XCode 中的新 Mac 上打开项目后,团队签名不起作用

托管调试助手 "PInvokeStackImbalance":的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调

如何检查 APK 是不是已签名或“调试构建”?

XCode 中代码签名“调试”或“发布”的意义何在?