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 Store rejection for missing NSLocationWhenInUseUsageDescription #1242

Closed
1 task done
ghost opened this issue Apr 2, 2023 · 6 comments
Closed
1 task done

App Store rejection for missing NSLocationWhenInUseUsageDescription #1242

ghost opened this issue Apr 2, 2023 · 6 comments

Comments

@ghost
Copy link

ghost commented Apr 2, 2023

What happened?

Similar to or same as #368 or #490 .

I'm receiving this warning from Apple: ITMS-90683: Missing purpose string in Info.plist

The Info.plist file for the “x.app” bundle should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data.

• My app is not using location services.
• My app uses no other 3rd party libraries.
• Background services are not enabled.
• Extensions are not used.
OneSignal.setLocationShared(false) is called before init.

OneSignal Framework version 3.12.4 - Swift package.

Steps to reproduce?

1. Build app and upload to App Store Connect.
2. After processing, receive warning mail from App Store Connect.

What did you expect to happen?

I expect location services to be disabled so no NSLocationWhenInUseUsageDescription is required.

OneSignal iOS SDK version

3.12.4

iOS version

15

Specific iOS version

iOS 16.4

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@nan-li
Copy link
Contributor

nan-li commented Apr 3, 2023

Hi,

Is this still a warning and your app is still submitted to the app store?
Or does this reject your submission?

The 2 linked issues are pretty thorough and nothing has really changed in the OneSignal-iOS-SDK.

Parts of the OneSignal iOS SDK allow apps to use location targeting for push notifications (geofence notifications). Apple appears to be scanning apps for any code that uses location services, even if the app doesn’t actually use it.

I would recommend putting an NSLocationWhenInUseUsageDescription string in your Info.plist even if your app doesn’t actually use it. If your app calls setLocationShared(false) our SDK will not prompt the user for location permission.

@emawby
Copy link
Contributor

emawby commented Apr 4, 2023

Apple may have updated their logic for detecting location code so even if you are not using it it is included in the OneSignal library. In order to resolve this fully OneSignal will need to provide an SDK version that does not include the location module.

In the meantime you might need to provide a description indicating that you will never prompt or collect this information.

@altairdeark
Copy link

altairdeark commented May 1, 2023

Same issue:
ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. NSLocationWhenInUseUsageDescription

Our application does not ask permission to track geolocation and does not require such sensitive data.

Could you provide SDK build without it?

@ghost
Copy link

ghost commented Aug 24, 2023

Is there any progress with this issue?

@e1block
Copy link

e1block commented Aug 31, 2023

Likewise, still seeing this issue.

@emawby
Copy link
Contributor

emawby commented Sep 27, 2023

In the new major version 5.0.0+ the location functionality has been separated into a subspec/separate SwfitPM target so that you may exclude it if it is not needed. For information on how to use the modular setup see the updated documentation here

@emawby emawby closed this as completed Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants