Rejected from App Store - reason is Missing Info.plist key but never uses location or permissions module?

Hi everyone,

We just submitted our app to the app store but got rejected for the following reason:

Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSLocationAlwaysUsageDescription key with a string value explaining to the user how the app uses this data.

Our app never asks for these permissions and never imports the expo permission api. Is this something to do with expo’s default settings?

Current build is using:

"expo": "^25.0.0",
"react": "16.2.0",
"react-native": "0.52.0",

Any help appreciated thanks!

3 Likes

Experiencing same issue in process of upgrading standalone to SDK 27 as well

1 Like

Yep. I just came here to post about the same thing. I’m experiencing the same issue.

Hi all! We believe Apple just changed their review mechanism to start enforcing this. :frowning: Since we haven’t actually changed our exp build server to support SDK 27 yet, you’re getting the same code that has been there for the last month.

We’re looking into it. It’s taking some time to test because we are repeatedly submitting test builds to Apple internally and waiting for them to “process”.

Statuspage incident here: https://expo.statuspage.io/

3 Likes

Same here. I have also opened a post related to this.

I was using only Location when-in-use but Apple asks me for NSLocationAlwaysUsageDescription.

We have a fix internally, but we’re currently blocked from testing the fix because Apple Testflight itself appears to be down for us. Great timing. As soon as we can verify, we’ll deploy the fix.

4 Likes

Thanks for the update :slight_smile:

We just deployed the fix. If you rebuild your app, the resulting ipa file won’t suffer from this issue. Really sorry about the delay on this, as mentioned earlier, we were blocked by the multi-day Apple TestFlight outage.

2 Likes

Although I re-build it, I am still suffering the issue. Do I have to replace the Expo SDK version?
I am currently using “sdkVersion”: “25.0.0”.

Or, Just do the exp build:ios ?

It would be very helpful if you give more detail instruction about it.


newly added.

  • Okay, so I build it successfully, and I submitted the app, and there is no any rejection.
    However, after install and execute it, it shows same error that
This app is missing NSLocationWhenInUseUsageDescription, so location services will fail. Add one of these keys to your bundle's Info.plist.

Hi Ben,

What was the fix? Adding strings to the Info.plist? Or some code changes?

@syou, it looks like you have a different error message which was not mentioned in the original post. NSLocationWhenInUseUsageDescription is different than NSLocationAlwaysUsageDescription. We provide NSLocationWhenInUseUsageDescription automatically for you when you run exp build, so if your app is missing that string, it probably means you are overriding it somewhere.

@marc.weeber, the fix was to change all of our binaries to remove all native iOS calls to requestAlwaysAuthorization. This method was present in some React Native code but never used. Nonetheless, it was triggering a warning from Apple’s static analysis during submission. If you want to take advantage of the fix, all you need to do is re-run exp build:ios and you’ll get the updated native code.

As you can see my app.json file. I didn’t override any places.
I read several postings about the issue that I have right now.

Please let me know if there are any missed things.

can you share your app slug and username?

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