Отклонено реагировать на собственное приложение iOS из-за отсутствия строки назначения в файле Info.plist из appstore - PullRequest
0 голосов
/ 04 декабря 2018

Я получил следующее письмо из магазина приложений из-за отсутствия строки назначения в файле info.plist.

Это приложение React Native, которое поддерживает как iOS, так и Android.

Мое приложение незапрос доступа к календарю пользователя.

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

Отсутствует целевая строка в файле Info.plist - код вашего приложения ссылается на один или несколько API, которые получают доступ к конфиденциальным данным пользователя.Файл Info.plist приложения должен содержать ключ NSCalendarsUsageDescription с целевой строкой, предназначенной для пользователя, которая четко и полностью объясняет, почему вашему приложению нужны данные.Начиная с весны 2019 года, все приложения, представленные в App Store и имеющие доступ к пользовательским данным, должны будут включать строку назначения. Если вы используете внешние библиотеки или SDK, они могут ссылаться на API, для которых требуется строка назначения.Хотя ваше приложение может не использовать эти API, строка назначения по-прежнему требуется.Вы можете связаться с разработчиком библиотеки или SDK и попросить, чтобы они выпустили версию своего кода, которая не содержит API.Узнать больше (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).

1 Ответ

0 голосов
/ 07 декабря 2018

Иногда устанавливаемые вами пакеты ссылаются на API, которые вам не нужны.Например, react-native-permissions делает это, и вы должны добавить описание использования для всех API, которые они используют.

Пакет react-native-permissions объясняет это здесь: https://github.com/yonahforst/react-native-permissions#app-store-submission-disclaimer

Если вам нужно подать заявку в AppStore, вам нужно добавить в свой Info.plist все ключи * UsageDescription со строковым значением, объясняющим пользователю, как приложение использует эти данные.Даже если вы их не используете.

И это пример того, как должен выглядеть ваш файл Info.plist:

<key>NSBluetoothPeripheralUsageDescription</key>
<string>Some description</string>
<key>NSCalendarsUsageDescription</key>
<string>Some description</string>
<key>NSCameraUsageDescription</key>
<string>Some description</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Some description</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Some description</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Some description</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Some description</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>Some description</string>
<key>NSAppleMusicUsageDescription</key>
<string>Some description</string>
<key>NSMotionUsageDescription</key>
<string>Some description</string>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...