Geolocation module iOS usage description mismatch


#1

Our recent build that uses the geolocation module v2.8 is receiving the following rejection from Apple. I have deduced that the module is creating a “NSLocationWhenInUseUsageDescription” and this has been fine until yesterday. They now seem to want “NSLocationAlwaysUsageDescription”.

We made a couple of small unrelated changes and re-submitted and now they want this new description that does not seem to make sense.


We identified one or more issues with a recent delivery for your app. Please correct the following issues, then upload again.

“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 (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).”
config.json (4.7 KB)


#2

Given that the geolocation module only ever makes location requests WhenInUse I’m really not sure why they’re complaining that we don’t have the string for Always permissions.

Maybe it has something to do with them deprecating everything in iOS 11 by introducing NSLocationAlwaysAndWhenInUseUsageDescription.

Anyway, I’ve added it to the GeoLocation module in v2.9 and it passes submission:

https://trigger.io/modules/geolocation/v2.9/

Please let us know if you’re still running into issues during review!

All the best,
Antoine


#3

Thanks antoinevg. Apple has accepted our release now using version 2.9.