Apple is now requiring all apps that reference CoreLocation APIs to include the NSLocationAlwaysUsageDescription key on Info.plist explaining why the location framework is being used.

When I uploaded my app to the App Store, I got this e-mail from Apple:

We identified one or more issues with a recent delivery for your app, "[my app name]". Your delivery was successful, but you may wish to correct the following issues in your next delivery:

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

Analysing all of our dependencies, I narrowed down MarketingCloudSDK as the sole responsible for including such references to the CoreLocation API.

Following Apple's recommendations, I'd like to request access to a version of the SDK that do not include location features.

I am currently using MarketingCloudSDK v6.2.0 via CocoaPods.


@Guilherme, I will create a ticket in our system to look into the best way to handle this - thank you for posting here.

To confirm - your solution is not using the MobilePush location messaging feature at all, correct?


| improve this answer | |
  • Thanks Brian. Right now, we do not use any of the location-related features from the SDK, but Apple requires the string because they can't know that the features are not used. From their perspective, they may eventually be used, therefore they expect a string. – Guilherme Apr 29 '19 at 18:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.