Смена языка на симуляторе iOS 8.1 не работает

Если я изменю язык на симуляторе iOS 8.1 на что-нибудь и попытаюсь определить это по коду с

NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Language: %@", language);

Я получаю "ан" обратно. Я попытался сбросить навигатор и т. Д. Я попытался сделать это с помощью среды выполнения iOS 7.1 (в Xcode 5.1.1), и она работала нормально. Кому-нибудь удалось найти решение этой проблемы?

4 ответа

Решение

Согласно примечаниям к выпуску, это известная проблема. Есть работа вокруг. Если вы перейдете в "Редактировать схему...", то на вкладке "Опции" есть опция "Язык приложения". Это влияет только на текущие настройки запуска, но не на приложение, как изменение языка устройства.

Мой симулятор на французском языке. Когда я хочу проверить интерфейс на английском языке, то изменение языка iphone недостаточно. Я должен переключить настройки региона минимум два раза.

Еще один обман iOS8.1 Simulator всегда использует американскую раскладку клавиатуры, несмотря на немецкую аппаратную клавиатуру

Известная и задокументированная ошибка, упомянутая в примечаниях к выпуску Xcode 6.1. Подайте радар, если вы хотите добавить +1 к списку жалоб на http://bugreport.apple.com/

Использовать [[NSLocale availableLocaleIdentifiers]

В моем случае редактирование схемы работает для региона, но не для языка. Это выглядит перезаписанным языком разработки. Изменение developmentRegion отлично работает с project.pbxproj следующим образом.

developmentRegion = ja;

Xcode версии 11.3.1 (11C504)

iPhoneX iOS 13.3.1

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