After building my expo app (not detached) today, and submitted the .ipa to apple, I received this rejection message.
I never use location service and don’t edit infoPlist in app.json.
sdkVersion: 28.0.0
exp cli version : 56.0.0
Could anyone help?
Dear Developer,
We identified one or more issues with a recent delivery for your app, “(hidden)”. 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. Learn more (Protecting the User’s Privacy | Apple Developer Documentation).”
After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.
Getting the same issue, previous builds worked fine last week until this weekend. I see there were some previous issues which were resolved in April 18, is this connected?
We’ve just received the same message while uploading a new version of Expo Client to the App Store. The good thing is, Apple didn’t forbid us from releasing this version to the public! The message you received is just a precaution, it states:
Your delivery was successful, but you may wish to correct the following issues in your next delivery
The app’s Info.plist file should contain a NSLocationAlwaysUsageDescription key
Apple Review probably analyzes the source code of the application and checks whether requestAlwaysAuthorization could be called on a location manager. The thing is that although for a static analysis tool this code could theoretically execute [_locMgr requestAlwaysAuthorization], in our circumstances it never will:
To sum up you should be able to submit the app to the App Store even when receiving this message, it’s just a warning.
I had the same issue with exp 57.0.0 and sdkVersion 29.0.0, the app was accepted, so the email was just a warning as sjchmiela said, and now is in “waiting for review”. I hope fixing this issue in next versions of expo.
UPDATE
I corfirm that the build has been accepted and the app is “Raady for Sale”
@lejoe — in fact, you can customize these strings, providing ios.infoPlist object in app.json, like explained here.
Another thing is — you shouldn’t do this in this case. We’ve removed the offending code in 247514 and will be releasing an update soon. We’ll close https://github.com/expo/expo/issues/2155 issue when the update is live.