Не удается локализовать строки info.plist

Мне нужно локализовать два ключа info.plist: NSLocationUsageDescription и NSCameraUsageDescription . Поэтому я попытался создать новый файл с именем InfoPlist.strings, а затем я его локализовал, но приложение всегда показывает строки, хранящиеся в файле info.plist. Что не так?

Официальная документация из справочной информации по ключевым словам

Локализованные значения не сохраняются в самом файле Info.plist. Вместо этого вы сохраняете значения для определенной локализации в файле строк с именем InfoPlist.strings. Вы размещаете этот файл в той же директории проекта, которая используется для хранения других ресурсов для той же локализации. Содержимое файла InfoPlist.strings – это отдельные ключи, которые вы хотите локализовать, и соответствующее значение перевода. Подпрограммы, которые ищут ключевые значения в файле Info.plist, учитывают языковые предпочтения пользователя и возвращают локализованную версию ключа (из соответствующего файла InfoPlist.strings), когда он существует. Если локализованная версия ключа не существует, подпрограммы возвращают значение, хранящееся в файле Info.plist.

Мой файл InfoPlist.strings:

 NSCameraUsageDescription = "hello"; NSLocationUsageDescription = "hello hello"; 

Пожалуйста, проверьте в созданном пакете приложений, действительно ли файл хранится там, и он помещается в нужное место. Обычно это недостающий шаг.

Просто зайдите в настройки проекта, откройте «Build Phases» и посмотрите, можно ли найти файл в «Copy Bundle Resources»,

Ваш файл plist может иметь несколько версий для каждого языка, поддерживаемого вашим приложением. В утилите \ File Inspector (справа) нажмите «Локализовать»:

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

Затем выберите языки, на которых вы хотите иметь свои собственные версии:

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

После этого вы сможете вводить каждый файл plist и редактировать его по своему усмотрению.

Файл должен находиться внутри каталога, указывающего язык, например en.lproj

На самом деле, моя проблема заключалась в том, что я ошибся с константой NSLocationWhenInUseUsageDescription, поэтому, конечно, она не была учтена.

Иногда вам нужно сначала очистить, щелкнуть Меню -> Продукт -> Очистить.

Иногда вам приходится сначала чистить

Начиная с iOS 10, вы должны добавить ключи конфиденциальности в свой Info.plist.

 <key>NSPhotoLibraryUsageDescription</key> <string>Please allow access to the photo library.</string> 

Конечно, вам все же нужны эти ключи для локализации (и вы не можете локализовать Info.plist приложения). Таким образом, вы также добавляете эти ключи конфиденциальности в InfoPlist.strings, которые, в свою очередь, локализованы.

 "NSPhotoLibraryUsageDescription" = "Please allow access to the photo library."; 
  • Центрируйте два UIView разного размера по горизонтали
  • Как фильтровать CGPoints в NSArray CGRect
  • Вычисляет ли автоматический подсчет ссылок объект, если я устанавливаю указатель на нуль?
  • Is - асинхронный или синхронный?
  • Как использовать таблицу UIActionSheet внутри оператора if?
  • Приложение перестает получать данные из сокета при прокрутке пользовательского интерфейса
  • Ошибка покупки StoreKit - com.apple.accessibility.gax.backboard
  • Почему все мои NSManagedObjects были немедленно сработаны?
  • Два UITableView в одном представлении
  • UIPageControl - просмотр не изменяется при щелчке точек
  • Ошибка приложения ... objc_exception_throw
  • Interesting Posts

    Различать центр уведомлений, скрывающийся и возвращающийся с фона с уведомлением DidBecomeActive

    Синхронизация облачных данных Core Data – нужна помощь с логикой

    Приложение Swift Timer

    Анимация UIButton в прессе

    Каковы шаги по преобразованию приложения Ruby on Rails в приложение iOS Phonegap?

    Вставить App Store в мое приложение

    Запуск ibtool имеет часть сборки iOS build breaks, если только не запустить очистку сначала

    Где хранится файл журнала с использованием cocoaLumberjack

    Всегда получает значение nil от функции в iOS

    Конвертировать NSString в Unsigned long

    Как изменить текущую страницу для учебника UIScrollView от Ray Wenderlich?

    Xcode показывает странные цифры рядом с именем симулятора

    Как получить доступ к нижнему колонтитулу или заголовку определенного раздела в UITableView?

    Uitextview, который становится первым ответчиком при прослушивании и обнаружении ссылок

    Как проверить URL-адрес на iPhone

    Давайте будем гением компьютера.