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