Flutter/App Store Connect/TestFlight Builds: Missing Compliance

(Illustration: Formosan Blue Magpie, which is a endemic species in Taiwan, flapping its wings. Image source: Wikipedia。)

Issue Description

One of our iOS app built by Flutter is having Missing Compliance status in the TestFlight section in App Store Connect. We need to manage it via the App Store Connect UI all the time when we distribute a build into App Store Connect.



The “Manage” link leads to a popup box:

We follow the instruction of the official document “Complying with Encryption Export Regulations” and would like to automate this process in the code.

Solution

The official document mentions we can declare the app’s use of encryption by adding the ITSAppUsesNonExemptEncryption key to the app’s Info.plist.

This file locates at “ios/Runner/Info.plist” in our Flutter project.

The solution:

After adding the key, the “ios/Runner/Info.plist” file looks like this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

    (skipped...)

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
</dict>
</plist>

Buy Me a Coffee If you enjoy the solution, please feel free to buy me a cup of coffee ☕ :)

Reference

Export Compliance Information

Does your app use encryption? Select Yes even if your app only uses the standard 
encryption within Apples operating system.

- Yes
- No

Export laws require that products containing encryption must be properly authorized 
for export. Failure to comply could result in severe penalties. Learn More
Loading comments…