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.