当我使用TestFlight添加用于内部测试的最新内部版本时,我看到它的状态为“缺少合规性”。

这是一个主要问题吗?为什么会出现?如何解决此问题?



#1 楼

除非您的应用程序使用某种特殊加密,否则您只需将布尔值名称为Info.plist且值为ITSAppUsesNonExemptEncryption的布尔值添加到您的NO中即可。

如果您的应用程序使用自定义加密,则需要提供额外的法律文件和在能够选择内部版本之前,请先对加密进行检查。

如果继续选择该版本进行测试,它将手动询问合规性信息。选择“否”会为您提供上面的plist建议。



这是2015年WWDC中宣布的更改,但我想它只是在最近才强制执行。有关与出口合规性有关的WWDC会话的记录,请参见此内容,仅用于文本搜索“ export”。

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


ITSAppUsesNonExemptEncryption在进行内部测试时导出合规性吗?
无法选择最新上传的版本以添加到testflight
ITSAppUsesNonExemptEncryption Cordova构建


评论


特殊加密意味着什么?是否使用iOS钥匙串存储用户的信息计数?

– bluenowhere
16年5月9日在10:27

在新的iTunesConnect下:顶部菜单>功能>加密

–bauerMusic
17年5月10日在9:08

@mokagio我正在使用Https连接消耗应用程序的数据,因此我是否必须选择“是”并提交任何文档?

–vignesh kumar
18 Mar 12 '18 at 14:04

我对我的api使用https fetch查询,我应该回答是还是否?这听起来像是棱镜合规性的一种形式。

– Dimitri Kopriwa
20年8月26日在17:12

即使我的plist文件中的ITSAppUsesNonExemptEncryption设置为NO,我的macOS应用上仍会显示此警告。

–布拉姆
20 Nov 12'23:41

#2 楼

不再需要提交新的版本或修改Info.plist;相反,请使用管理员或应用程序管理器帐户执行以下步骤:


转到TestFlight左上方的iOS标签,然后点击警告旁边的黄色三角形,以在以下位置提供此信息iTunes Connect:




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



但是,如果您选择修改Info.plist,则无需再处理此弹出窗口。

评论


@am_我刚试过,它仍然有效。您只需要单击弹出窗口中的“提供出口合规信息”链接。帖子已使用新的屏幕截图进行了编辑。

–凯文·库珀
17-6-10在20:17



当我单击三角形时,没有“提供出口合规信息”链接,我只是获得参考文本。

–SafeFastExpressive
17年6月26日在22:39

原来是访问问题。我不是管理员(开发人员+其他),我们的管理员是提交应用程序的人。我让我们的管理员在他的帐户中进行了查看,他可以查看/单击“提供出口合规信息”链接来解决此问题。

–SafeFastExpressive
17年6月27日在0:49

@RandyHill感谢您提供信息-我已经更新了答案,以解释您需要成为管理员。

–凯文·库珀
17年6月27日在17:30

@am_只有具有管理员角色的用户才能看到链接

– Alexis.J
17年8月18日在16:39

#3 楼

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

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


#4 楼

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



评论


需要右键单击属性表,然后单击“添加行”以完成此操作,这花了我几分钟时间才能找到:)

–杨W
19-10-20在9:37

#5 楼

如果您的info.plist显示为属性列表(而不是xml),则需要输入密钥的文本为:App Uses Non-Exempt Encryption

#6 楼

如果您未在API调用中使用https,请在info.plist中添加此密钥“ App Uses Non-Exempt Encryption”,并将其设置为“ NO”

评论


使用URLSession的HTTPS连接-不受导出文档上传要求的限制。

–巴拉格·巴夫纳(Parag Bafna)
19年12月11日在9:50

什么是URLSession?我怎么知道我是否使用它?我正在将React Native应用程序与Fetch请求一起使用,我不知道-尝试搜索它。

– Dror酒吧
20 Mar 10 '20 at 12:55

@DrorBar您最后在这里做什么?我也正在使用React Native(与Expo),我不确定我应该在这里做什么。我正在通过HTTPS呼叫后端。

–达里尔·杨(Darryl Young)
20-05-26在16:01

@DarrylYoung我还没有找到具体的答案,但是我很确定这些HTTPS调用不受加密要求。添加密钥应该很好。

– Dror酒吧
20-05-26在16:38



@DrorBar感谢您的答复。照顾自己。

–达里尔·杨(Darryl Young)
20-05-27在11:14

#7 楼

此外,如果看不到“提供出口合规信息”按钮,请确保您在App Store Connect中扮演正确的角色,或与合适的人(帐户持有人,管理员或App Manager)交谈。

#8 楼



如果您已经发布到Apple TestFlight进行测试

,则每次必须单击链接,然后选择“否”,然后,测试人员才能看到内部版本。如果要尽快交付构建,这会很烦人。




为下一个构建执行此操作(如果之前已这样做,构建,然后将不会发生此错误)


👉解决方法是将以下设置添加到您的iOS Info.plist
    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>


不能添加“缺少合规性”,请参阅此缺少合规性

#9 楼

右键单击info.plist并选择open as,然后单击Source Code
将此行添加到文件的最后一个
</dict>标签
<key>ITSAppUsesNonExemptEncryption</key>
    <false/>

并保存文件。

#10 楼

我只是资助另一种方法来执行相同的解决方法。因为我没有可能单击黄色三角形(即使我有管理员角色),所以当您进入testflight时,则是iOS(在“ Build”下)而不是黄色三角形上单击版本号,将打开另一个页面并且您会在右上找到类似添加合规性信息的信息(很抱歉,如果我不太准确,但是我有意大利语版本,但是真的很容易找到)。这样,即使您像我一样,也无法单击黄色三角形,您也可以这样做。