Rejected from app store - missing location string

Hello,

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? :raised_hands:

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.

Thank you in advance :slight_smile:

1 Like

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?

Facing the same issue

Hello friends! :slightly_smiling_face:

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

1 Like

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”

Getting the same issue here.
It’s still only a warning but will that always be like this?

Should expo adapt add this key to the list of text we can configure here ?

@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. :slightly_smiling_face: We’ll close https://github.com/expo/expo/issues/2155 issue when the update is live.

2 Likes

Thanks a lot for that answer. Really clear and helpful!

2 Likes

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.