Ошибка Appstore connect: отсутствует строка назначения в файле Info.plist - PullRequest
0 голосов
/ 24 августа 2018

Я отправил свое приложение на рассмотрение в Appstore connect. Хотя приложение все еще находится на рассмотрении, я получил письмо, в котором сообщалось, что я должен исправить ошибку. Вот содержание сообщения:

    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

Мое приложение полностью построено на expo, и я не знаю, как получить доступ и изменить Info.plist.

Есть идеи?

Ответы [ 15 ]

0 голосов
/ 09 мая 2019

Я тоже столкнулся с той же проблемой, но через 27 часов я получил письмо с подтверждением, даже если ничего не сделал. Так что подождите примерно 24 часа вместо того, чтобы снова выполнять весь этот процесс.

0 голосов
/ 27 июня 2019

Пожалуйста, просмотрите письмо, которое вы получили от ** App Store Connect **

Определите недостающий ключ enter image description here

Инструкции

  1. Открыть файл info.plist.

  2. Добавить и найти отсутствующий ключ из предоставленных опций (например, Контакты =Конфиденциальность - описание использования контактов)

  3. Добавить описание использования:

$ (PRODUCT_NAME) нужен контакт для доступа к «Предоставить причину здесь»".

Пример:

0 голосов
/ 11 февраля 2019

та же проблема в 19 февраля, получил письмо с кучей разрешений, которые я не использую, я предполагаю, что они из плагинов.Apple говорит, что 19 марта это требование, поэтому я добавляю их в info.plst и загружаю снова.

Это действительно очень глупо.

0 голосов
/ 19 апреля 2019

у меня было <key>NSLocationWhenInUseUsageDescription </key> вместо <key>NSLocationWhenInUseUsageDescription</key>

обязательно удалите завершающие пробелы

0 голосов
/ 29 августа 2018

Это новое требование от Apple, даже если вы не используете местоположение. Если вы хотите добавить разрешения в XCode, найдите «Конфиденциальность - Описание использования местоположения» и «Конфиденциальность - Местоположение, когда используется описание использования» и введите пользовательскую строку для каждого из них.

enter image description here

0 голосов
/ 04 сентября 2018

Для упрощения вы можете добавить эти строки в ваш info.plist. Эти ошибки появляются из-за того, что Начиная с весны 2019 года, все приложения, представленные в App Store для доступа к пользовательским данным, должны будут содержать строку назначения.

  1. Открыть info.plist в качестве исходного кода.
  2. Добавьте следующие строки в свой список

    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>$(PRODUCT_NAME) needs Location access for "some reason"!</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>$(PRODUCT_NAME) needs Location access for "some reason"!</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>$(PRODUCT_NAME) needs Location access for "some reason"!</string>
    
0 голосов
/ 28 августа 2018

так что теперь у нас есть 4 случая ..

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

Apple заявляет в:

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

И:

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

NSLocationUsageDescription кажется мертвым, единственнымСсылка на сайте АЦП: "https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf"

Поэтому, чтобы быть уверенным, используйте сначала 3.

0 голосов
/ 28 августа 2018

Мое приложение также получило это ,, и я ничего не делаю с этим, но оно может работать хорошо, в следующий раз, я думаю, следует добавить такой ключ в plist, просто сделайте некоторое описание

0 голосов
/ 27 августа 2018

Все эти ответы сообщают вам, как соблюдать правила App Store, чтобы избежать предупреждения, но истинное исправление было бы для Expo, чтобы позволить вам отключить их требования SDK для Location Services, если вы на самом деле не используете их - я не уверенесли это возможно.

0 голосов
/ 27 августа 2018

Если вы используете Expo, вы можете добавить решение, добавив infoPlist в app.json следующим образом:

  "expo": {
     "ios": {
       "bundleIdentifier": "com.app.myapp",
       "infoPlist": {
         "NSLocationAlwaysUsageDescription": "Some message to appease Apple.",
       },
     },
   }

Документы Expo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...