Skip to content
This repository has been archived by the owner on Nov 29, 2023. It is now read-only.

Your app "infomobi" (Apple ID: XXX) has one or more issues - on deploy #360

Closed
danconte72 opened this issue Apr 10, 2019 · 1 comment
Closed

Comments

@danconte72
Copy link
Contributor

danconte72 commented Apr 10, 2019

What happened

On upload a version to app store connect

We identified one or more issues with a recent delivery for your app, "infomobi". Please correct the following issues, then upload again.

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

Why it happens

OneSignal/OneSignal-iOS-SDK#368 (comment)

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

How to fix

OneSignal/OneSignal-iOS-SDK#368 (comment)

In the short term I would recommend putting an NSLocationAlwaysUsageDescription 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.
In the long term, splitting out the location functionality into a separate OneSignal/Location Cocoapod library should be a more permanent fix.

Solution

Updated ios-permissions to be complaint with itunes check. To do this in multi-language should use meumobi/cordova-plugin-ios-permissions
to set permissions needed

danconte72 pushed a commit that referenced this issue Apr 10, 2019
@vdias38
Copy link
Contributor

vdias38 commented Apr 10, 2019

Seems you should call setLocationShared(false) to "not prompt the user for location permission".
Did you check if mandatory to not prompt ?

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

No branches or pull requests

2 participants