When I added my latest build for internal testing with TestFlight, I saw that it had a "Missing Compliance" status.
Is this a major problem? Why does this appear? How can I resolve this issue?
Unless your app is using some special encryption you can simply add Boolean a key to your Info.plist
with name ITSAppUsesNonExemptEncryption
and value false
.
In code:
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
If you want to use the Xcode UI instead, head over to the Project > Target > Info panel, add a new "App Uses Non-Exempt Encryption" Boolean key with value NO
:
If your app is using custom encryption then you will need to provide extra legal documents and go through a review of your encryption before being able to select builds.
If you continue with selecting that version for testing, it will ask for the compliance information manually. Choosing "No" presents you with the plist recommendation above.
This is change has been announced in the 2015 WWDC, but I guess it has been enforced only very recently. See this and this for a transcript of the WWDC session related to the export compliance, just to a text search for "export".
There are other similar questions on SO, see:
There's no longer any need to submit a new build or modify Info.plist
; instead, follow these steps:
Make sure you are an Admin or App Manager role in App Store Connect.
Go to the iOS tab at the top left of TestFlight and click the yellow triangle next to the warning to provide this information within iTunes Connect:
Though, if you do choose to modify Info.plist
, you'll never need to deal with this popup again.
In your Info.plist
, Right click in the properties table, click Add Row
, add key name App Uses Non-Exempt Encryption
with Type Boolean
and set value NO
.
Another approach to handle this
Righ Click on info.plist
and select open as and then click on Source Code
Add this line in last of file before </dict>
tag
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Add following at the bottom of your Info.plist
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
If your info.plist is shown as a property list (and not xml), the text you need to enter for the key is:
App Uses Non-Exempt Encryption
Righ Click on info.plist and select open as and then click on Source Code
Add this line in last of file before
</dict>
tag
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
and save file.
If you are not using https in api calls, Please add this key "App Uses Non-Exempt Encryption" in your info.plist and set it to "NO"
For SwiftUI
Normally there is no info.plist
file. So use this way to add Non-exempt encryption key and value. Click on the + button as follows and type ITSAppUsesNonExemptEncryption
as the key and NO
as the value
Additionally, if you can't see the "Provide Export Compliance Information" button make sure you have the right role in your App Store Connect or talk to the right person (Account Holder, Admin, or App Manager).
I just fund another way to do the same workaround. Because of I hadn' t the possibility to click on the yellow triangle (even if I have admin role), when you go inside testflight, then iOS (under "Build") instead of yellow triangle click the version number, another page will open and you will find on top right something like add compliance information (sorry if I am not totally accurate but I have the italian version but it would be really easy to find). Then you can do the same even if you, like me, are not able to click on yellow triangle.
it simply indicates that you do not use encryption, it can be intimidating when you are a newbie but it is not a problem if you are sure that you do not use encryption
Step 1: Click On Manage
Step 2: Select, None of the algorithms mentioned above, If you didn't use any description algorithms
Step 3: Click on save