TestFlight中缺少合规性状态

当我用TestFlight添加我的最新构建进行内部测试时,我看到它有一个“Missing compliance”;的地位。

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

Test flight status Missing Compliance .

231691 次浏览

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

在代码:

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

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

添加值的Xcode视图截图。 < / >

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

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

 itune Connect加密导出合规警报用于测试

这是在2015年全球开发者大会上宣布的改变,但我猜这是最近才实施的。请参阅,以获得与导出遵从性相关的WWDC会议的记录,只是文本搜索&;export&;。

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

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

  1. 在App Store Connect中确保你是一个管理应用程序管理器角色。

  2. 进入TestFlight左上角的iOS选项卡,单击警告旁边的黄色的三角形,在iTunes Connect中提供此信息:

enter image description here

  1. 点击“提供出口合规信息”;链接在弹出窗口:

出口合规信息

不过,如果你确实选择修改Info.plist,你将永远不需要再次处理这个弹出窗口。

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

在你的Info.plist中,右键单击属性表,单击Add Row,添加键名App Uses Non-Exempt Encryption类型Boolean并设置值NO

enter image description here

另一种处理方法

右键单击info.plist并选择打开为,然后单击Source Code将这一行添加到</dict>标记之前的最后一个文件中

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

Info.plist的底部添加以下语句

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

如果你没有在api调用中使用https,请在你的信息中添加这个密钥“应用程序使用非豁免加密”。plist并将其设置为NO

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

右键单击info.plist并选择打开,然后单击源代码 将这一行添加到文件的最后 </dict>标记< / p >

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

并保存文件。

我只是资助了另一种方法来做同样的工作。因为我没有点击黄色三角的可能性(即使我有管理角色),当你进入试飞,然后iOS(在“建造”下),而不是点击黄色三角的版本号,另一个页面将打开,你会发现在右上角添加合规信息(抱歉,如果我不完全准确,但我有意大利版本,但它真的很容易找到)。然后你可以做同样的事情,即使你像我一样,不能点击黄色三角形。

对于SwiftUI

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

enter image description here

它只是表明你不使用加密,当你是一个新手时,这可能是令人生畏的,但如果你确定你不使用加密,这不是一个问题