Hey, all. I'm getting a new warning from App Store Connect after uploading a new build. I've added the Ads plugin, and the app runs fine, but Apple sent me this warning:
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).
I'm assuming the Ads interface accesses some user data under the hood to target ads effectively. Does anyone know how best to address this?
Paul
Comments
Likes: MoKaLux
GPS is not used in this app
Vibrator is not used in this app
Support aspect ratios of 2.1 or higher
This app conforms to US Export regulations relative to encryption
Enable 64bits libs (android)
All the rest are unchecked.
https://play.google.com/store/apps/developer?id=razorback456
мій блог по гідерос https://simartinfo.blogspot.com
Слава Україні!
Or could the Ads interface potentially override the not-using-gps flag, since some ad networks use location if they can?
Paul
https://play.google.com/store/apps/developer?id=razorback456
мій блог по гідерос https://simartinfo.blogspot.com
Слава Україні!
I'd still like to understand if the Ads interface that's causing the warning. I haven't seen this before.
https://play.google.com/store/apps/developer?id=razorback456
мій блог по гідерос https://simartinfo.blogspot.com
Слава Україні!
Based on that code, the text I entered won't be exported to the plist file unless I uncheck the "GPS not used" box. So it would seem I need to uncheck that and submit again.
Likes: oleg
https://deluxepixel.com
So my latest build uploaded without the warning. I think the lesson here is:
If you use the Ads interface, don't check the "Gps not used" box in the Require plugin, and do include a reason for the use of GPS.
I've also been getting the warning: Missing Push Notification Entitlement, but I understand if the app doesn't actually use push notifications, it's nothing to worry about. It'd still be nice to have the warning go away, though. It states "Your app appears to register with the Apple Push Notification service". I wonder if the Iab plugin does that, so users can be notified about issues with their purchase after the fact, or something like that. I won't lose sleep over that one, though.
Thanks for the help, Oleg and hgy29! And for the movie memories, SinisterSoft!
Paul
Likes: MoKaLux, SinisterSoft, antix
We are getting the message too. We aren't using ads in this version of the app. We have:
Plugins:
Bitop
JSON
Require
TextToSpeech
And in Require:
GPS is not used in this app
Vibrator is not used in this app
Support aspect ratios of 2.1 or higher
Support non - rectangular screen shapes
App needs to write to external storage
This app conforms to US Export regulations relative to encryption
Disable x86 libs (android)
Enable Metal Support (iOS)
I deleted NSAllowsArbitraryLoads from the plist (automatically set by the export but not needed in this version because we have no ads etc) as I thought this might trigger the reason request.
I also deleted iAds as that is still included in the export and is defunct.
I think it must be the fact that the CoreLocation Framework is included. But if I delete it I get a load of build errors from requiring the lib: ... in libgideros.a(ggeolocation-ios.o)
So I assume geolocation is the issue, but I can't work out how to disable it.
I can't give a reason to Apple because we aren't using GPS in any way (no ads, analytics or anything).
Any ideas?
I uploaded a build of the ad-supported version yesterday and assumed the ads were triggering the message (and perhaps they would too), so I gave ads as the reason, but I notice that CoreLocation isn't required for Admob, anyway.
Also, I have no idea how much this lib adds to the app size, which is also a consideration. App size is one of the new Google Play metrics you can use to compare yourself to your "peers"/competition (along with crashes etc), so I guess it might have an impact on ASO. It has an impact on a user's choice to download or uninstall an app, for sure. How difficult would be to make other features optional (even if the default is opted-in) in order to reduce the app-size? Or would it have a negligible impact? For example, we don't use stuff like accelerometer, gyroscope or ttf fonts.
Likes: EricCarr
Could you resolve it? I'm facing the same issue.
It seems that we can not avoid it as geolocation is in Core gideros.
Any workaround for this?
In this case, what message should I provide?