Подтвердить что ты не робот

NSPhotoLibraryUsageDescription в Xcode8

Обновление:
Я пытаюсь добавить значение String к "NSPhotoLibraryUsageDescription".
введите описание изображения здесь

И это работает. Моя версия сборки теперь доступна на моем TestFlight.

введите описание изображения здесь ps: 构建 版本 означает Версия сборки

Но я хочу знать, почему Apple Store просто позволяет мне добавить значение String для "NSPhotoLibraryUsageDescription", а не "Camera Usage Description" или "Location When In Use Usage Description"? И как локализовать info.plist.


Старый:
Я загрузил много версий сборки в iTunes Connect.But TestFlight не показывает ни одну из этих версий сборки.
Затем я просматриваю эту проблему в stackoverflow. И я знаю, что это вызвано описанием использования. Я добавляю NSPhotoLibraryUsageDescription в свой Info.plist. Однако электронная почта Apple Store сообщит мне, что:

Уважаемый разработчик,

Мы обнаружили одну или несколько проблем с вашей недавней доставкой для "Family Health Tracker". Для обработки вашей доставки необходимо устранить следующие проблемы:

Это приложение пытается получить доступ к конфиденциальным данным без описания использования. Приложение Info.plist должно содержать ключ NSPhotoLibraryUsageDescription со строковым значением, объясняющим пользователю, как приложение использует эти данные.

Как только эти проблемы будут исправлены, вы можете повторно добавить исправленный двоичный файл.

Привет,

Команда App Store

Они все еще говорят мне добавить NSPhotoLibraryUsageDescription

Это мой Info.plist

4b9b3361

Ответ 1

Локализация файла info.plist может быть очень неэффективной, особенно если вы используете в своих приложениях многие языки. Самый простой способ локализации ключей NSPhotoLibraryUsageDescription, NSLocationWhenInUseUsageDescription или NSCameraUsageDescription - описать его в файле InfoPlist.strings.

  • Создайте новый *.strings файл с именем InfoPlist;
  • Нажмите кнопку Localize... в инспекторе файлов и выберите язык по умолчанию;
  • Добавьте новые записи в новый файл InfoPlist.strings. Например на английском языке:

NSLocationWhenInUseUsageDescription = "Описание использования местоположения";

NSPhotoLibraryUsageDescription = "Описание использования фотографий";

NSCameraUsageDescription = "Описание использования камеры";

Для получения дополнительной информации Apple docs

Ответ 2

Перед загрузкой приложения в iTunesConnect убедитесь, что значение "NSPhotoLibraryUsageDescription" присвоено значению.

введите описание изображения здесь

Ответ 3

Просто добавьте эти строки в свой файл info.plist

<key>NSPhotoLibraryUsageDescription</key>
<string>Photo Library Access Warning</string> //For NSPhotoLibraryUsageDescription issue.

Ответ 4

Чтобы локализовать Info.plist:

  • Нажмите Info.plist
  • Покажите Utilities, затем нажмите File inspector
  • Это кнопка Localize, щелкните ее.

Ответ 5

Попробуй это для нас,

<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>

Подробнее см. Лучший ответ

Надеюсь, это поможет некоторым.

Ответ 6

У меня была та же проблема с двумя приложениями, решение показывает, что соединение itunnes через почту: info.plist просмотрите файл и попытайтесь добавить следующие поля:

  Privacy - Photo Library Usage Description

  Bluetooth Sharing - NSBluetoothPeripheralUsageDescription

каждый с текстом, объясняющим причину его использования. Здесь вы можете проверить разрешения, которые теперь требуют iOS 10 в info.plist здесь: https://blog.xamarin.com/new-ios-10-privacy-permission-settings/

Это сработало для меня.

Ответ 7

missing keys связаны с некоторыми API-интерфейсами, требующими некоторых описаний использования, определенных в ключах .plist. Прежде чем добавлять какие-либо ключи, если вы знаете, что ваше приложение не использует какое-либо конкретное использование, я порекомендую вам ознакомиться с официальным guide от Apple к ошибкам API API. В качестве примера я просто прокомментирую строку, содержащую UIImagePickerController. Этого было достаточно, чтобы получить отказ от Apple; в то время как я не имел доступа к библиотеке фотографий пользователя. После того, как вы подтвердили этот шаг, вы можете продолжить другие решения, упомянутые здесь.