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

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


当前回答

在你的信息。plist,右键单击属性表,单击“添加行”,添加密钥名称App Uses Non-Exempt Encryption with Type Boolean,并设置值NO。

另一种处理方法

右键单击信息。plist并选择打开为,然后单击源代码在</dict>标记之前的文件最后添加这一行

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

其他回答

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

在你的信息。plist,右键单击属性表,单击“添加行”,添加密钥名称App Uses Non-Exempt Encryption with Type Boolean,并设置值NO。

另一种处理方法

右键单击信息。plist并选择打开为,然后单击源代码在</dict>标记之前的文件最后添加这一行

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

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

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

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

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

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

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

在代码:

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

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

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

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

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

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

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