Parse-SDK-iOS-OSX
Parse-SDK-iOS-OSX copied to clipboard
Make use of CoreLocation optional
Since couple days ago the App Store Connect turns the app into an invalid binary because the app links against Parse.framework which in turns links agains CoreLocation.framework. Here is the precise wording of the message returned:
"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 NSLocationWhenInUseUsageDescription 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)."
It looks like for now you can work around this by adding the related Privacy - Location keys to the Info.plist but only time will tell whether this will pass through review.
Consider this as a heads up for now.
I would like to second that.
Agree. Remove the imports. Potential fixes:
- Use a compiler flag to enable the location aspects of Parse SDK
- Separate the location aspects of the SDK into a separate pod (like livequery, FB Utils etc.)
Thanks for raising this, would someone be able to make a pull request?
+1 Workaround the same as others - added a NSLocationAlwaysUsageDescription string to plist.
Has anyone submitted to App Store with this workaround? Would be good to know if anyone has had success or problems.
And what did you write? Seems most appropriate to write "Not in use", but I can also see how a reviewer could find that string to not be helpful…
I placed a phrase stating that this service is not in use for this. It was accepted without incident after being rejected when I had not filled in the NSLocationAlwaysUsageDescription.
It doesn’t seem to matter. I used the same string as for while app is in use. I like the previous suggestion though of not used on this device.
But doesn't the AppStore add a flag about Location data usage ?