TestFlight 中缺少合规性状态

Missing Compliance status in TestFlight

提问人:Chandan Jee 提问时间:3/7/2016 最后编辑:mokagioChandan Jee 更新时间:3/14/2023 访问量:269533

问:

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

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

Test flight status Missing Compliance

iOS iPhone Xcode 应用商店连接 TestFlight

评论


答:

909赞 mokagio 3/7/2016 #1

除非您的应用程序使用某些特殊加密,否则您只需将 Boolean 键添加到您的 name 和 value 中。Info.plistITSAppUsesNonExemptEncryptionfalse

在代码中:

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

如果要改用 Xcode UI,请转到“项目>目标>信息”面板,添加一个新的“应用使用非豁免加密”布尔键,其值为:NO

Screenshot of the Xcode view where to add the value.

如果您的应用使用自定义加密,则需要提供额外的法律文件并审核您的加密,然后才能选择构建版本。

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

iTunes Connect encryption export compliance alert for testing

这是在2015年WWDC中宣布的更改,但我想它只是最近才执行的。有关与出口合规性相关的 WWDC 会议的成绩单,请参阅此和此,仅对“导出”进行文本搜索。

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

评论

8赞 bluenowhere 5/9/2016
什么是特殊加密?使用 iOS 钥匙串存储用户信息是否算数?
1赞 bauerMusic 5/10/2017
在新的 iTunesConnect 下:“顶部菜单”>“功能>加密”
11赞 vignesh kumar 3/12/2018
@mokagio我使用Https连接来消耗应用程序的数据,那么我是否必须选择“是”并提交任何文件?
0赞 Dimitri Kopriwa 8/27/2020
我对我的 api 使用 https fetch 查询,我应该回答是还是否?这听起来像是棱镜合规性的一种形式。
2赞 Bram 11/13/2020
即使我在 plist 文件中将 ITSAppUsesNonExemptEncryption 设置为 NO,我在我的 macOS 应用程序上也收到了此警告。
178赞 Kevin Cooper 4/25/2017 #2

不再需要提交新的构建或修改;相反,请按照下列步骤操作:Info.plist

  1. 确保您是 App Store Connect 中的管理员或 App 管理员角色。

  2. 前往 TestFlight 左上角的 iOS 标签页,点按警告旁边的黄色三角形,以在 iTunes Connect 中提供以下信息:

enter image description here

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

Export Compliance Information

但是,如果您确实选择修改,则永远不需要再次处理此弹出窗口。Info.plist

评论

5赞 Kevin Cooper 6/11/2017
@am_我刚刚尝试过,它仍然有效。您只需单击弹出窗口中的“提供出口合规信息”链接即可。帖子已使用新屏幕截图进行编辑。
3赞 SafeFastExpressive 6/27/2017
当我单击三角形时,没有“提供出口合规信息”链接,我只是得到信息文本。
14赞 SafeFastExpressive 6/27/2017
原来是访问问题。我不是管理员(开发人员+其他一些人),我们的管理员是提交应用程序的人。我让我们的管理员在他的帐户中查看了它,他能够看到/单击“提供出口合规信息”链接来解决问题。
4赞 Kevin Cooper 6/28/2017
@RandyHill感谢您提供的信息 - 我已经更新了我的答案,以解释您需要成为管理员。
3赞 Alexis.J 8/19/2017
@am_只有具有管理员角色的用户才能看到该链接
17赞 Shaked Sayag 8/21/2017 #3

如果 info.plist 显示为属性列表(而不是 xml),则需要为密钥输入的文本为:
应用使用非豁免加密

86赞 Himanshu padia 9/5/2017 #4

在您的属性表中,右键单击,单击,添加具有类型和设置值的键名。Info.plistAdd RowApp Uses Non-Exempt EncryptionBooleanNO

enter image description here

处理此问题的另一种方法

Righ 单击并选择“打开为”,然后单击“在标记之前的文件末尾添加此行”info.plistSource Code</dict>

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

评论

3赞 Walty Yeung 10/20/2019
需要右键单击属性表,然后单击“添加行”才能执行此操作,我花了几分钟才找到:)
0赞 SM Abu Taher Asif 3/14/2023
适用于 iOS 16、Xcode 14.1
82赞 atulmy 8/26/2018 #5

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

<key>ITSAppUsesNonExemptEncryption</key>
<false/>
9赞 Mahendra Thotakura 11/30/2018 #6

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

评论

3赞 Parag Bafna 12/11/2019
使用 URLSession 的 HTTPS 连接 - 免于出口文件上传要求。
1赞 Dror Bar 3/10/2020
什么是 URLSession?我怎么知道我是否使用它?我正在使用带有 Fetch 请求的 React Native 应用程序,但我不知道 - 尝试搜索它。
0赞 Darryl Young 5/27/2020
@DrorBar 你最终在这里做了什么?我也在使用 React Native(带有 Expo),我不确定我应该在这里做什么。我正在通过 HTTPS 调用我的后端。
2赞 Dror Bar 5/27/2020
@DarrylYoung 我还没有找到具体的答案,但我很确定这些类型的 HTTPS 调用不受加密要求的约束。你应该很好地添加密钥。
7赞 Maciek Czarnik 9/25/2019 #7

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

13赞 Muhammad 10/9/2020 #8

单击 info.plist 并选择 open as,然后单击 Source Code 将此行添加到文件末尾的标记之前</dict>

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

并保存文件。

3赞 MrHim 10/16/2020 #9

我只是资助另一种方法来做同样的解决方法。由于我无法单击黄色三角形(即使我有管理员角色),因此当您进入testflight时,iOS(在“构建”下)而不是黄色三角形单击版本号,将打开另一个页面,您会在右上角找到添加合规性信息之类的内容(对不起,如果我不完全准确,但我有意大利语版本,但它真的很容易找到)。然后,即使您像我一样无法单击黄色三角形,您也可以这样做。

8赞 Pramodya Abeysinghe 1/8/2022 #10

对于 SwiftUI

通常没有文件。因此,请使用这种方式添加非豁免加密密钥和值。单击如下所示的 + 按钮,然后键入键和值info.plistITSAppUsesNonExemptEncryptionNO

在此处输入图像描述

1赞 Salvador 11/9/2022 #11

它只是表示您不使用加密,当您是新手时可能会令人生畏,但如果您确定不使用加密,则不是问题