iOS 10 и описание локализации разрешений

Столкнулся с интересной вещью при подготовке приложения для iOS 10. Начиная с Xcode 8, вы должны предоставить описание всех разрешений, которые вы запрашиваете в приложении ( https://forums.developer.apple.com/thread/49951)

Все кажется хорошим, но что если я захочу локализовать это описание?

Если бы я поместил его внутри InfoPlist.strings - приложение будет продолжать сбой. Но если бы я поместил его в InfoPlist.strings а также Info.plist - приложение всегда будет принимать описание от Info.plistтак что никакой локализации не будет.

Может быть, у кого-то есть решение. Спасибо:)

3 ответа

Решение

Я столкнулся с той же проблемой и смог ее решить, потому что заметил, что InfoPlist.strings не был членом какой-либо цели.

Так что установка Target Membership на файл (который помещает его в Copy Bundle Resources этап сборки) исправил.


И для всех, кто ищет в Google здесь: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html

Прокрутите вниз до "Локализация значений списка свойств"

Вот шаги для локализации переменных info.plist

я. создайте новый файл с именем "InfoPlist.strings" в вашем проекте

II. нажмите на свой проект, чтобы открыть настройки (если целью является ваше приложение, выберите проект, просто щелкнув его в открытом окне), добавьте все необходимые языки в разделе "локализации"

III. Перейдите в файл InfoPlist.strings и отметьте флажок нужных языков в разделе локализаций. (Нажмите кнопку "Утилиты", если локализация не отображается после нажатия на файл.strings, который находится в верхнем правом углу xcode - самый правый)

внутривенно Добавьте необходимые пары "ключ" = "значение" для всех языков локализации в InfoPlist.strings. Если у вас возникли трудности с поиском ключей, принадлежащих строкам info.plist, просто щелкните правой кнопкой мыши на вашем info.plist и выберите "Открыть как" -> "Исходный код", все параметры строки будут указаны как ключи в исходном коде.

Шаги по реализации локализации для разрешения.

Шаг 1 - Нажмите Info.plist

Шаг 2 - Нажмите кнопку Локализовать [Xcode правый средний]

Шаг 3 - Отметьте языки

У меня была похожая проблема, она была вызвана использованием неверного имени файла:

InfoPList.strings

вместо

InfoPlist.strings

Надеюсь, что эта информация может быть полезна для кого-то.

Другие вопросы по тегам