intuit / LocationManager

Easily get the device's current location on iOS.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iTunes Connect rejection for "in-use only" apps

futuretap opened this issue · comments

When the NSLocationAlwaysUsageDescription key is not present in the Info.plist and consequently INTULocationManager requests WhenInUseAuthorization only, iTunes Connect rejects such binaries with this error message:

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.

Apparently, they check that the binary contains the requestAlwaysAuthorization selector and reject the binary even though this selector won't ever be called at runtime.

I've verified this. When I comment out the requestAlwaysAuthorization call, iTunes Connect accepts the binary.

+1

This seems like a recent change (within the last week) on Apple's end.

+1

Seeing this too. I guess the best solution is to just add the key even though our app won't ever use it?

Ya, I too got this in the Turbo app I work on at Intuit (which doesn't use location)... hopefully Apple fixes it soon.

For now I entered two dummy keys and just resubmitted this morning. App is processing so hopefully that'll pass their broken tests.

Adding the 'dummy' keys got me through the automated tests. FYI.

From what I can see here
https://github.com/intuit/LocationManager/blob/master/LocationManager/INTULocationManager/INTULocationManager.m#L469 and https://github.com/intuit/LocationManager/blob/master/LocationManager/INTULocationManager/INTULocationManager.m#L480, if you add dummy NSLocationAlwaysUsageDescription
and NSLocationAlwaysAndWhenInUseUsageDescription keys, the INTULocationManager will actually call the requestAlwaysAuthorization method on the location manager.

So if you just want to get the requestWhenInUseAuthorization I guess it's not working, unless I'm missing something ?

@jeanelie you're right. This issue should not be closed. Adding the NSLocationAlwaysAndWhenInUseUsageDescription key is dangerous because it will lead to actually request always location.