Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App rejected because NSLocationAlwaysUsageDescription is missing #73

Closed
lifenautjoe opened this issue Mar 28, 2019 · 7 comments
Closed

Comments

@lifenautjoe
Copy link

lifenautjoe commented Mar 28, 2019

Just got an email from apple stating

"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 NSLocationAlwaysUsageDescription 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)."

"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)."

Why is the OneSignal SDK using these APIs and is there a way to disable them? 🤔

@lifenautjoe
Copy link
Author

On the 20th new apple rules entered in regards to this. Meaning these are no longer warnings but blocking issues from a release.

@rgomezp
Copy link
Contributor

rgomezp commented Apr 8, 2019

Hola Joel,
Sorry for the delay. You have really two options here:

  1. You can add the NSLocationWhenInUseUsageDescription key with a detailed description value regarding why you want to use location in your app for review by Apple
  2. Remove the core location library altogether and make sure nothing is using location in your app

Best,
Rodrigo from OneSignal

@rgomezp rgomezp closed this as completed Apr 8, 2019
@szotp
Copy link

szotp commented Oct 9, 2019

CoreLocation is used inside OneSignal framework:
https://github.com/OneSignal/OneSignal-iOS-SDK/search?q=CoreLocation&unscoped_q=CoreLocation

So I don't see a way of removing location from app, except for removing OneSignal.

I think that documentation should be updated, everyone using OneSignal has to add those keys, even if location is not used.

@suyashdixit
Copy link

Hola Joel,
Sorry for the delay. You have really two options here:

  1. You can add the NSLocationWhenInUseUsageDescription key with a detailed description value regarding why you want to use location in your app for review by Apple
  2. Remove the core location library altogether and make sure nothing is using location in your app

Best,
Rodrigo from OneSignal

Add to which info.plist? Runner or OneSignal?

@kbokarius
Copy link

I'm running into the same issue. How do we use the OneSignal Flutter SDK without the location library? Alternatively, what do you recommend we enter into the value for NSLocationWhenInUseUsageDescription?

@mamonraab
Copy link

add this inyo info.plist in the runer folder

<key>NSLocationAlwaysUsageDescription</key>
    <string>Your location is required for accurate notifactions  benefits for you , also you cane disable it with no problem </string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Your location is required for accurate notifaction benefits for you  lso you cane disable it with no problem </string>

@RMatushkin
Copy link

RMatushkin commented Sep 11, 2023

While working on a Flutter application, I encountered this problem. I left a comment, how I solved it, here is a link: OneSignal/OneSignal-iOS-SDK#368 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants