Missing Purpose String in Info.plist File

Missing Purpose String in Info.plist File
0
#1

Hi,
did anyone encountered following warning from the AppStore?:

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

I’ve never get this warning before, but now I’m getting it with any game I update. I obsviously don’t use Location, because it’s a game :slight_smile: I’ve only saw some of pods are importing CoreLocation framework. I use the following Pods:

Using Bolts (1.8.4)
Using ChartboostSDK (7.3.0)
Using FBSDKCoreKit (4.37.0)
Using FBSDKLoginKit (4.37.0)
Using FBSDKShareKit (4.37.0)
Using Firebase (4.13.0)
Using FirebaseAnalytics (4.2.0)
Using FirebaseCore (4.0.20)
Using FirebaseDatabase (4.1.5)
Using FirebaseInstanceID (2.0.10)
Using Google-Mobile-Ads-SDK (7.35.1)
Using GoogleToolboxForMac (2.1.4)
Using OneSignal (2.9.3)
Using leveldb-library (1.20)
Using nanopb (0.3.901)

I’ve tried updating all of them with pod update, but it’s still the same warning. I CAN add these keys in plist file, but I cannot understand why should I, because I don’t even import CoreLocation in “my” project (except Pods as I said).

0 Likes

#2

I also encountered this problem

0 Likes

#3

analytics and ads use locations.

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

fill those keys with a description why you would use those services (location calendar etc)
eg.: “AppName needs ServiceName to provide personalised advertising.”
though no user will ever read it …

0 Likes