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

Как локализовать NSPhotoLibraryUsageDescription key (ALAssets)

Я пытаюсь локализовать ключ NSPhotoLibraryUsageDescription, определенный в файле info.plist приложения (ссылка здесь).
Этот ключ дает вам возможность предоставить настраиваемое сообщение, когда приложение сначала запрашивает доступ к вашему кадру камеры. Я использую ALAssetsLibrary для перечисления групп активов (которые вызывают всплывающее сообщение с запросом доступа).

Пока мой поисковик не отвечает, как я мог это достичь.

Я хочу избежать локализации всего файла info.plist, поскольку он содержит гораздо больше неязыкового контента.

Кто-нибудь уже решил это или имеет подсказки, как действовать?

4b9b3361

Ответ 1

Существует файл, который вы можете создать (который может быть создан для вас при создании проекта) под названием InfoPlist.strings. Этот файл используется и локализован так же, как файл Localizable.strings.

В нем вы бы и записали что-то вроде:

NSPhotoLibraryUsageDescription = "Test of new Photos warnings";

Обратите внимание, что кавычки вокруг ключа

отсутствуют.

Я думаю, что до тех пор, пока ключ включен в info.plist, он будет локализован с использованием значения в InfoPlist.string, если он доступен для языка. В противном случае он будет использовать все, что определено в info.plist.

Ответ 2

У меня есть моя записка здесь https://github.com/onmyway133/notes/issues/290, или вы получите

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

Убедитесь, что

  • Вы объявляете ключи в Info.plist
  • Вы локализуете его в InfoPlist.strings
  • Вам не нужны двойные кавычки, например "NSPhotoLibraryUsageDescription" = "Test of new Photos warnings";, вы можете просто использовать NSPhotoLibraryUsageDescription = "Test of new Photos warnings";