2015-07-27 4 views
8

Я использую приведенный ниже код для имени кода и страны, но он возвращает null.NSLocale Код страны и имя Null

NSLocale *locale = [NSLocale currentLocale]; 
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; 
NSString *country = [locale displayNameForKey: NSLocaleCountryCode value: countryCode]; 
NSLog(@"Language : %@ Lang2 : %@",[[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0],[[NSLocale preferredLanguages] objectAtIndex:0]); 
NSLog(@"Locale:%@ Code:%@ Name%@:", locale, countryCode, country); 

developmentRegion = English; 
     hasScannedForEncodings = 0; 
     knownRegions = (
      en, 
      Base, 
      fr, 
      de, 
      nl, 
      ja, 
      es, 
      tr, 
      it, 
      pl, 
      pt, 
     ); 

Журналы: Язык: < __NSCFLocale: 0x7fbef943f810> Код: (нуль) Название (нуль)

Язык: п Lang2: п

enter image description here

Испытано как на устройстве и симулятором .I не знаю, что происходит здесь. Это должно работать нормально. Пожалуйста, дайте мне знать, если у вас есть идеи. Я использую xcode 6.4.

enter image description here

+0

Это работает для меня в то время как с помощью XCode 6.4, я думаю, вам нужно проверить 'Настройки -> Общие -> Язык и Регион -> Регион Formats' и набор соответственно. Он должен работать. Приветствия. – iphonic

+0

i double checked. Все установлено соответственно :( – Machete

+0

Каков ваш регион в настройках симулятора/устройства -> Форматы области? – iphonic

ответ

3

Наконец нашел нахала.

Я тестировал вышеуказанный код в другом тестовом проекте и работал нормально, но не в моем текущем проекте. Итак, я использовал инструмент разработчика FileMerge и сравнил их и нашел разницу в строке ниже. (Xcshareddata-> xcschemes -> ****. Xcscheme).

enter image description here

Я не знаю, как язык = «п» есть может быть из-за плохого слияния, но откат и повторное слияние не работает.

Ручное удаление строки решить мою проблему Ghostly :)

+0

Спасибо! –

Смежные вопросы