Я работаю в компании, у которой есть приложение в производстве с ошибкой локализации только в iOS 9. Приложение показывает ключ локализованных строк, а не значения. По-видимому, он не может найти соответствующую строку в таблице. На iOS 8 приложение отлично работает.Локализованная строка, не найденная в таблице строк в iOS 9
Я плохо знаю исходный код, но я убедился, что файл Localization.strings находится в правильном комплекте с правильной целью. Я уверен, что ресурс есть, из-за тестов, которые я сделал, и в основном потому, что строки находятся в iOS 8!
Я искал изменения в API в iOS 9, но не смог найти ничего, связанного с моей проблемой. Я также запустил команду plutil
во всех файлах .strings
, и у меня все получилось для всех.
Любые подсказки относительно того, где искать?
Вы пробовали метод NSBundle для получения локализованных строк, чтобы узнать, отличается ли поведение? –
Разумеется, вы имеете в виду '[[NSBundle mainBundle] localizedStringForKey: value: table:]' в отличие от макроса 'NSLocalizedString (key, comment)'? Если да, то да. Он тоже не работает. – invalidArgument
То есть метод. Вы подтвердили, что файл строк присутствует в комплекте в симуляторе? Вы должны иметь возможность распечатать путь пакета к консоли, а затем проверить его. Папки .lproj должны находиться непосредственно в папке пути пакета, содержащей ваши файлы строк. –