Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat
App Store Connect warns: "Missing Purpose String in Info.plist File" - Gideros Forum

App Store Connect warns: "Missing Purpose String in Info.plist File"

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

  • hgy29hgy29 Maintainer
    This is about GPS, did you disable it (assuming you don’t use it) in require plugin ?

    Likes: MoKaLux

    +1 -1 (+1 / -0 ) Share on Facebook
  • PaulHPaulH Member
    I have GPS disabled. In the Require plugin I have these checked:

    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.

  • olegoleg Member
    Accepted Answer
    maybe it's about it?


    image.png
    753 x 492 - 36K
    I do not understand English
    I am writing with the help of a google translator

    my blog: https://simartinfo.blogspot.com
    my games:
    https://play.google.com/store/apps/developer?id=AndroidMobileGame+(indie)
    Слава Україні
  • PaulHPaulH Member
    I just saw that, and suspect it would prevent the warning I'm getting from Apple, since the text entered there would presumably be be added to the plist file, but I'm a bit concerned that it's some other "personal information" other than location that's at issue, since I have GPS disabled.

    Or could the Ads interface potentially override the not-using-gps flag, since some ad networks use location if they can?

    Paul
  • olegoleg Member
    edited May 8
    the plugin has the following condition:
     
    property name="reqNoGps" type="boolean" title="Gps is not used in this app"
     property name="reqGpsReason" type="string" title="Explain why you need GPS (iOS)" 
     
    if (tonumber(Export.getProperty("plugin.reqNoGps") or 0))==0 then
    			iOSProject.InfoPlist.NSLocationUsageDescription=Export.getProperty("plugin.reqGpsReason")
    			iOSProject.InfoPlist.NSLocationWhenInUseUsageDescription=Export.getProperty("plugin.reqGpsReason")
    		else
    			iOSProject.InfoPlist.NSLocationUsageDescription=nil
    			iOSProject.InfoPlist.NSLocationWhenInUseUsageDescription=nil
    		end
    I do not understand English
    I am writing with the help of a google translator

    my blog: https://simartinfo.blogspot.com
    my games:
    https://play.google.com/store/apps/developer?id=AndroidMobileGame+(indie)
    Слава Україні
  • PaulHPaulH Member
    Thanks. I'm uploading a build with some text there. I put in a statement that the app uses advertising networks that may request information to choose relevant ads. I'm hoping that will prevent the warning.

    I'd still like to understand if the Ads interface that's causing the warning. I haven't seen this before.
  • olegoleg Member
    I am updating the previous post
    I do not understand English
    I am writing with the help of a google translator

    my blog: https://simartinfo.blogspot.com
    my games:
    https://play.google.com/store/apps/developer?id=AndroidMobileGame+(indie)
    Слава Україні
  • PaulHPaulH Member
    Hmmm... The new build, with an explanation for the usage of GPS, still got the warning from Apple.

    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.
  • SinisterSoftSinisterSoft Maintainer
    Off on a tangent, the 'missing purpose' thing reminded me of Nathan's 'special purpose' in The Jerk...

    Likes: oleg

    +1 -1 (+1 / -0 ) Share on Facebook
  • PaulHPaulH Member
    edited May 8
    It's been way too long since I've seen that... I've got to watch it again.

    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
    +1 -1 (+3 / -0 ) Share on Facebook
Sign In or Register to comment.