当我用TestFlight为内部测试添加我的最新构建时,我看到它有一个“Missing Compliance”状态。

这是个大问题吗?为什么会出现这种情况?我该如何解决这个问题?


当前回答

在Info.plist的底部添加以下内容

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

其他回答

除非你的应用程序使用一些特殊的加密,你可以简单地添加布尔密钥到你的信息。plist名称为ITSAppUsesNonExemptEncryption,值为false。

在代码:

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

如果你想使用Xcode UI,转到项目>目标>信息面板,添加一个新的“应用程序使用非豁免加密”布尔密钥,值为NO:

如果你的应用使用自定义加密,那么你需要提供额外的法律文件,并在选择构建之前审查你的加密。

如果您继续选择该版本进行测试,它将手动要求遵从性信息。选择“No”会显示上面的plist推荐。

这是在2015年全球开发者大会上宣布的改变,但我猜这是最近才实施的。在WWDC会议上,只需要文本搜索“export”,就可以看到与导出遵从性相关的文字记录。

关于SO还有其他类似的问题,请参见:

内部测试时ITSAppUsesNonExemptEncryption导出合规性? 无法选择要添加到测试飞行的最新上传版本 ITSAppUsesNonExemptEncryption Cordova Build

此外,如果你看不到“提供导出合规信息”按钮,请确保你在App Store Connect中拥有正确的角色或与正确的人(帐户持有人,管理员或应用程序经理)交谈。

不再需要提交新的构建或修改Info.plist;相反,请遵循以下步骤:

确保你是App Store Connect中的管理员或应用程序管理员角色。 转到TestFlight左上角的iOS选项卡,点击警告旁边的黄色三角形,在iTunes Connect中提供以下信息:

点击弹出窗口中的“提供出口合规信息”链接:

不过,如果您选择修改信息。Plist,你再也不需要处理这个弹出窗口了。

如果你的信息。Plist显示为一个属性列表(而不是xml),你需要为键输入的文本是: 应用程序使用非豁免加密

I just fund another way to do the same workaround. Because of I hadn' t the possibility to click on the yellow triangle (even if I have admin role), when you go inside testflight, then iOS (under "Build") instead of yellow triangle click the version number, another page will open and you will find on top right something like add compliance information (sorry if I am not totally accurate but I have the italian version but it would be really easy to find). Then you can do the same even if you, like me, are not able to click on yellow triangle.