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?
Please review the email you received from **App Store Connect **
Identify The Missing Key
Instructions
Open info.plist file.
Add and search for the missing key from the options provided (e.g. Contacts = Privacy - Contacts Usage Description)
Add Usage Description:
Example:
In our case, we were using
NSLocationWhenInUseUsageDescription
in our app, but notNSLocationAlwaysUsageDescription
.Reading from the comments here (thanks matt-oakes), it looks like
NSLocationAlwaysUsageDescription
is being used by one of the dependency frameworks we use.Running our app it doesn't show the actual NSLocationAlwaysUsageDescription permission modal, so it looks to just handle this in the background.
So in summary, adding
NSLocationAlwaysUsageDescription
to the Info.plist fixed the warning email, and did not change any behaviour in the appMy app also got that, and I do nothing about it but it can run well ,next time I think should add such key in plist,just do some description
NSLocationAlwaysUsageDescription Your location is required for xyz benefits for you NSLocationWhenInUseUsageDescription Your location is required for xyz benefits for you
There are the following cases:
Apple states at:
and:
NSLocationUsageDescription
seems dead, the only ref in ADC site is: https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdfSo to be sure, use first 3.
This issue is occurring because you haven't included
for your app. I faced the same issue when I tried to submit my app on the AppStore. After the app was processed, I got the same mail. I just added the description and now its resolved.
Hope this helps.