parse-community / Parse-SDK-iOS-OSX

The Apple SDK for Parse Platform (iOS, macOS, watchOS, tvOS)
https://parseplatform.org
Other
2.81k stars 871 forks source link

Make use of CoreLocation optional #1398

Open mman opened 5 years ago

mman commented 5 years ago

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.

ebender001 commented 5 years ago

I would like to second that.

EricNetsch commented 5 years ago

Agree. Remove the imports. Potential fixes:

TomWFox commented 5 years ago

Thanks for raising this, would someone be able to make a pull request?

brianyyz commented 5 years ago

+1 Workaround the same as others - added a NSLocationAlwaysUsageDescription string to plist.

henrik commented 5 years ago

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…

ebender001 commented 5 years ago

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.

brianyyz commented 5 years ago

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.

bre7 commented 4 years ago

But doesn't the AppStore add a flag about Location data usage ?