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

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


当前回答

对于 SwiftUI

通常没有信息。plist文件。所以用这种方式添加非豁免加密密钥和值。如下所示,单击+按钮,输入ITSAppUsesNonExemptEncryption作为键,输入NO作为值

其他回答

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

在代码:

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

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

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

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

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

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

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

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

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

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

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

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

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

右键单击信息。plist,选择open as,然后点击Source Code 将这一行添加到文件的最后 < / dict >标记

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

并保存文件。

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