Error Appstore connect : Missing Purpose String in

2020-02-07 16:31发布

I've submitted my app for review to the App Store Connect. Although the app is still under review, I've received an email to inform me that I have to fix an error. Here is the content of the message:

Dear Developer,

We identified one or more issues with a recent delivery for your app XXXXX. 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.

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.

Best regards,

The App Store Team

My app is fully built with Expo and I don't know how to access and modify the Info.plist.

Any idea?

19条回答
你好瞎i
2楼-- · 2020-02-07 16:38

Please review the email you received from **App Store Connect **

Identify The Missing Key enter image description here

Instructions

  1. Open info.plist file.

  2. Add and search for the missing key from the options provided (e.g. Contacts = Privacy - Contacts Usage Description)

  3. Add Usage Description:

$(PRODUCT_NAME) needs Contacts access to "Provide The Reason Here".

Example:

查看更多
来,给爷笑一个
3楼-- · 2020-02-07 16:42

In our case, we were using NSLocationWhenInUseUsageDescription in our app, but not NSLocationAlwaysUsageDescription.

Reading from the comments here (thanks matt-oakes), it looks like NSLocationAlwaysUsageDescription is being used by one of the dependency frameworks we use.

Running our app it doesn't show the actual NSLocationAlwaysUsageDescription permission modal, so it looks to just handle this in the background.

So in summary, adding NSLocationAlwaysUsageDescription to the Info.plist fixed the warning email, and did not change any behaviour in the app

查看更多
倾城 Initia
4楼-- · 2020-02-07 16:43

My app also got that, and I do nothing about it but it can run well ,next time I think should add such key in plist,just do some description

查看更多
孤傲高冷的网名
5楼-- · 2020-02-07 16:45
##Use this key in info.plist file

NSLocationAlwaysUsageDescription Your location is required for xyz benefits for you NSLocationWhenInUseUsageDescription Your location is required for xyz benefits for you

查看更多
时光不老,我们不散
6楼-- · 2020-02-07 16:46

There are the following cases:

NSLocationAlwaysAndWhenInUseUsageDescription (iOS>11)
NSLocationWhenInUseUsageDescription          (iOS>11)
NSLocationAlwaysUsageDescription             (iOS<=10)
NSLocationUsageDescription                   (seems very old, iOS8?)

Apple states at:

Add the NSLocationWhenInUseUsageDescription key and the NSLocationAlwaysAndWhenInUseUsageDescription key to your Info.plist file.

and:

If your app supports iOS 10 and earlier, add the NSLocationAlwaysUsage

NSLocationUsageDescription seems dead, the only ref in ADC site is: https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf

So to be sure, use first 3.

查看更多
家丑人穷心不美
7楼-- · 2020-02-07 16:48

This issue is occurring because you haven't included

 <NSLocationAlwaysUsageDescription>

for your app. I faced the same issue when I tried to submit my app on the AppStore. After the app was processed, I got the same mail. I just added the description and now its resolved.

Hope this helps.

查看更多
登录 后发表回答