ios – NSLocale国家代码和名称为空

前端之家收集整理的这篇文章主要介绍了ios – NSLocale国家代码和名称为空前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用下面的代码和国家名称,但它返回null.
  1. NSLocale *locale = [NSLocale currentLocale];
  2. NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];
  3. NSString *country = [locale displayNameForKey: NSLocaleCountryCode value: countryCode];
  4. NSLog(@"Language : %@ Lang2 : %@",[[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0],[[NSLocale preferredLanguages] objectAtIndex:0]);
  5. NSLog(@"Locale:%@ Code:%@ Name%@:",locale,countryCode,country);
  6.  
  7. developmentRegion = English;
  8. hasScannedForEncodings = 0;
  9. knownRegions = (
  10. en,Base,fr,de,nl,ja,es,tr,it,pl,pt,);

日志:区域设置:< __ NSCFLocale:0x7fbef943f810>代码:(null)名称(null)

语言:nl Lang2:nl

在设备和模拟器上测试.我不知道这里发生了什么.它应该工作正常.如果你们有任何想法,请告诉我.我正在使用xcode 6.4.

解决方法

终于找到了虫子.

我在另一个测试项目中测试了上面的代码并且工作正常但不在我当前的项目中.
所以我使用了开发人员工具FileMerge并比较了两者,并在下面的行中找到了差异.(xcshareddata-> xcschemes-> ****.xcscheme).

我不知道语言=“nl”是如何得到的,可能是由于合并不好,但回滚和重新合并也不起作用.

手动删除该行解决了我的幽灵问题:)

猜你在找的iOS相关文章