Search code examples
iosapp-storeexpoappstore-approvalinfo.plist

Error Appstore connect : Missing Purpose String in Info.plist File


I've submitted my app for review to the App Store Connect. Although the app is still under review, I've received an email to inform me that I have to fix an error. Here is the content of the message:

Dear Developer,

We identified one or more issues with a recent delivery for your app XXXXX. Your delivery was successful, but you may wish to correct the following issues in your next delivery:

"Missing Purpose String in Info.plist File. Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting spring 2019, all apps submitted to the App Store that access user data will be required to include a purpose string.If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs.

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.

Best regards,

The App Store Team

My app is fully built with Expo and I don't know how to access and modify the Info.plist.

Any idea?


Solution

  • If you're using Expo, you can add solve by adding infoPlist to app.json like so:

      "expo": {
         "ios": {
           "bundleIdentifier": "com.app.myapp",
           "infoPlist": {
             "NSLocationAlwaysUsageDescription": "Some message to appease Apple.",
           },
         },
       }
    

    Expo Docs