ChatGPT解决这个技术问题 Extra ChatGPT

Missing Compliance status in TestFlight

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?

https://i.stack.imgur.com/XBXUa.png


m
mokagio

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:

https://i.stack.imgur.com/CaHdK.png

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.

https://i.stack.imgur.com/qORCd.png

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:

ITSAppUsesNonExemptEncryption export compliance while internal testing?

Cannot select latest uploaded version to add to testflight

ITSAppUsesNonExemptEncryption Cordova Build


What is special encryption meant to be? Does using iOS keychain to store user's info count?
Under new iTunesConnect: Top menu > Features > Encryption
@mokagio I am using Https connection to consume data for the Application so Do I have to choose yes and submit any documents?
I use https fetch query to my api, should I answer yes or no? This sounds like a form for prism compliance.
I have this warning on my macOS app, even though I have the ITSAppUsesNonExemptEncryption set to NO in my plist file.
p
pkamb

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:

https://i.stack.imgur.com/i7ret.png

Click the "Provide Export Compliance Information" link in the popup:

https://i.stack.imgur.com/Gwd22.png

Though, if you do choose to modify Info.plist, you'll never need to deal with this popup again.


@am_ I just tried it and it still works. You just need to click the "Provide Export Compliance Information" link in the popup. Post has been edited with the new screenshot.
There is no "Provide Export Compliance Information" link when I click triangle, I just get the informational text.
Turned out to be an access issue. I'm not an Admin (Developer+some other), and our Admin was who submitted the app. I had our Admin look at it in his account, and he was able to see/click the "Provide Export Compliance Information" link to resolve the problem.
@RandyHill thanks for the info -- I've updated my answer to explain that you need to be an Admin.
@am_ only users with admin roles can see the link
A
Atul Yadav

Add following at the bottom of your Info.plist

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

H
Himanshu padia

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.

https://i.stack.imgur.com/Du2XO.png

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/>

one need to right click the properties table, and click 'Add Row' to do that, it took me a few minutes for find out :)
S
Shaked Sayag

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


M
Mahendra Thotakura

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"


HTTPS connections using URLSession—is exempt from export documentation upload requirements.
What is a URLSession? how do I know if I use it? I'm using React Native app with Fetch request and I have no idea - tried searching for it.
@DrorBar What did you end up doing here? I'm also using React Native (with Expo) and I'm not sure what I should be doing here. I'm making calls to my back-end over HTTPS.
@DarrylYoung I haven't found a specific answer but I'm pretty sure these kind of HTTPS calls are exempt from encryption requirements. You should be good adding the key.
p
pkamb

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.


M
Maciek Czarnik

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).


P
Pramodya Abeysinghe

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

https://i.stack.imgur.com/L0Qfh.png


D
Dharman

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.