Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing Compliance in Status when I add built for internal testing in Test Flight.How to solve?

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?

enter image description here

like image 303
Chandan Jee Avatar asked Mar 07 '16 10:03

Chandan Jee


People also ask

How do I add an internal tester to TestFlight?

To add Internal testers: Navigate back to your app in My Apps, select the TestFlight tab and click Internal Testing on the left-hand side; Now click the (+) sign next to the header Internal Testers; Check the box next to any eligible users who have not already been invited and click Add.

How do I push my app to TestFlight?

To distribute using TestFlight or through the App Store, choose App Store Connect. If you are a member of the Apple Developer Enterprise Program and are ready to release your app to users in your organization, choose Enterprise. To distribute a macOS app without code signing, choose Copy App.

How do you set up a flight test?

Download TestFlight app and start testing Invited testers will receive an email with a link to test your app. To be able to test, they will first have to download the TestFlight app. After accepting the invitation, they will be directed to the TestFlight app and they will be prompted to install to app to be tested.

What is non exempt encryption?

It means that the app uses no encryption, or only exempt encryption. If your app uses encryption and is not exempt, you must set this value to YES/true. Very few apps can set this to NO; for example if any part of your app uses https you almost certainly need to say YES.


2 Answers

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:

Screenshot of the Xcode view where to add the value.

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.

iTunes Connect encryption export compliance alert for testing

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
like image 78
mokagio Avatar answered Oct 19 '22 01:10

mokagio


There's no longer any need to submit a new build or modify Info.plist; instead, follow these steps using an Admin or App Manager account:

  1. 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:

enter image description here

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

Export Compliance Information

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

like image 24
Kevin Cooper Avatar answered Oct 19 '22 01:10

Kevin Cooper