2013-04-08 9 views
19

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

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

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

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

+1

«До сих пор мой поисковик не ответил, как я мог это достичь». И теперь мой Гуглинг привел меня сюда, спасибо, что спросил об этом! –

ответ

40

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

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

NSPhotoLibraryUsageDescription = "Test of new Photos warnings"; 

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

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

+0

Спасибо, Джо! :) Прекрасно работает. Как только я получил ключевое слово «InfoPlist», я нашел [this] (http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html) в документах Apple. Надеюсь, это может быть полезно и для других людей! Regs. – kr45ko

+1

FWIW это не сработало для меня, пока я не обернул NSPhotoLibraryUsageDescription в двойных кавычках. – capikaw

+0

Если локализован, что должно значить значение ключа в файле 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";
Смежные вопросы