由于最初的TestFlight应用程序将在一个月内退役,我正试图掌握iTunes Connect Beta系统,这看起来是一项重大改进。按照指示,我重新生成了配置文件,并在我的构建服务器上重新加载它们。
然后我使用" AppStore | Release"进行构建。个人资料,我在日志中看到了这条消息:
codesign -v -f -s" XXXXXX" " - 资源的规则= / ... / MyApp.app/ResourceRules.plist" - entitlements" /../ iSnagMobileiOS.xcent" " /../ iSnagMobileiOS.app"
entitlements参数中指定的文件包含预期的beta-reports-active键:
<?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>get-task-allow</key>
<false/>
<key>application-identifier</key>
<string>XXXXXXX.com.mycompany.myapp</string>
<key>com.apple.developer.team-identifier</key>
<string>XXXXXXXX</string>
<key>beta-reports-active</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>XXXXX.com.mycompany.myapp</string>
</array>
</dict>
</plist>
然后,我检索了生成的IPA,该IPA是使用我的分发证书签署的。为了检查是否已应用了正确的权利,我执行了此命令以检查配置文件:
解压缩-p MyApp.ipa Payload / MyApp.app / embedded.mobileprovision |安全cms -D
在XML片段中,我可以看到包含预期标志的权利字典:
<key>Entitlements</key>
<dict>
<key>keychain-access-groups</key>
<array>
<string>XXXXXXXX.*</string>
</array>
<key>get-task-allow</key>
<false/>
<key>application-identifier</key>
<string>XXXXXXXX.com.mycompany.myapp</string>
<key>com.apple.developer.team-identifier</key>
<string>XXXXXXXXX</string>
<key>beta-reports-active</key>
<true/>
</dict>
在IPA中也没有额外的Entitlements.plist文件可能会将其丢弃。
我使用Application Loader 3.0上传了IPA,但之后收到了此错误消息:
警告:ITMS-90191:&#34;缺少测试版权利。您的应用不包含beta-reports-active授权。如果您打算通过TestFlight分发此版本以进行beta测试,请使用新生成的配置文件重新构建此应用程序。&#34;
我在搜索此消息时发现了大量点击,但似乎没有一个描述上述问题;所有这些用户都发现重新生成配置文件并再次下载它就是所需要的。
我想知道我是否遇到了由旧版XCode或MonoTouch引起的问题,但在我更新了两者之后,我仍然遇到了同样的问题。我猜这个问题不是由Xamarin引起的,但可能是由我在构建配置中忽略的设置引起的,但我可能错了。