签名(调试)不包括 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 允许?
在 XCode 中的新 Mac 上打开项目后,团队签名不起作用
托管调试助手 "PInvokeStackImbalance":的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调