pka*_*amb 21 xcode itunesconnect testflight
当我将构建上传到新的Apple拥有和iTunes Connect集成的TestFlight时,我看到以下日志:
警告ITMS-90191:"缺少测试版权利.您的应用程序不包含beta-reports-active授权.如果您打算通过TestFlight分发此版本以进行Beta测试,请使用新生成的配置文件重新构建此应用程序."
当我在iTunes Connect上查看构建时,我也看到以下警告:

要使用TestFlight Beta Testing,构建XYZ必须包含正确的beta权利.有关更多信息,请参阅常见问题.
链接的FAQ说明:
如果我的预发布版本不包含正确的beta版权限,我该怎么办?
要使用TestFlight应用程序测试预发布版本,必须使用包含测试版权利的App Store Distribution Provisioning配置文件对其进行签名.在iOS开发人员中心生成的新分发配置配置文件将自动包含测试版权利.
如果您具有在启动TestFlight Beta Testing之前生成的现有分发配置文件,则必须重新生成配置文件.
问题是,我正在使用新创建的App Store发行配置文件.我是这样创建的:

当我检查下载的Provisioning Profile的来源时,我看到:
<key>Entitlements</key>
<dict>
// ...
<key>aps-environment</key>
<string>production</string>
<key>beta-reports-active</key>
<true/>
// ...
Run Code Online (Sandbox Code Playgroud)
因此,供应配置文件设置为production并且确实包含beta-reports-active权利.
但是,当此版本上传到TestFlight时,iTunes Connect会继续抱怨.
有关如何解决此问题的任何想法?这是Apple的bug吗?
rdar:// 20128048
pka*_*amb 22
首先,请确保您使用的是App Store Distribution Provisioning Profile.这可能是您用于签署Apple TestFlight之前版本的Ad Hoc Distribution Provisioning Profile 的不同配置文件.
切换到App Store Distribution Provisioning Profile 后,我继续点击Error ITMS-90191 .我通过在Xcode项目中另外添加beta-reports-active我的Target Entitlements.plist文件的密钥来解决这个问题.
该beta-reports-active密钥必须包含在提供个人资料和目标的权利.
TargetName.entitlements:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
// ...
<key>beta-reports-active</key>
<true/>
// ...
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
将权利添加到Target后,我可以成功将构建上传到iTunes Connect TestFlight而不会ITMS-90191发出警告:
