I have uploaded new build of the application that was in the App Store for severals years.
Received following email from iTunes Connect:
Your delivery was successful, but you may wish to correct the following issues in your next delivery: ITMS-90683: Missing Purpose String in Info.plist -
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
The application is not using location for any purpose.
It may be caused:
I have looked for Location and CoreLocation stuff in the project but no results. It might be compiled binary using it. But how to know which and for what purpose?
What is the developer supposed to write in the purpose string if it's some 3rd party lib using that permission?
PD: From what I know for AdMob, at least on Android, it's been using location since long time ago. https://developers.google.com/admob/ios/targeting#location https://support.google.com/admob/answer/6373176?hl=en
PD2: Just found this
7.8.1 2016‑05‑11 Added SDK support for automatically using location data when a user has explicitly enabled an app's location permissions.
In release notes: https://developers.google.com/admob/ios/rel-notes
PD3: Just found the issue on Google Groups forum of AdMob: https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/ios/byShbNTrumk
Another place with related issue: https://github.com/OneSignal/OneSignal-iOS-SDK/issues/368
Tried removing OneSignal pod and uploading a new build. This time all worked without any email from apple.