Xcode 6.1 IOS 8.1 NSLocale DisplayNameForKey NSLocaleIdfier返回零

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (68)
- (NSString *)countryNameByCode:(NSString*)countryCode
{
    NSString *identifier = [NSLocale localeIdentifierFromComponents:@{NSLocaleCountryCode: countryCode}];
    NSString *countryName = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:identifier];

    return countryName;
}

国家名为零。为什么?

提问于
用户回答回答于

请尝试下面的代码,它应该可以工作。我在我的设备和模拟器8.1上试过

- (NSString *)countryNameByCode:(NSString*)countryCode {
  return [[NSLocale systemLocale] displayNameForKey:NSLocaleCountryCode value:countryCode];
}
用户回答回答于

这是仅适用于iOS 8.1 的已知问题- 不能在8.1设备上重现。请参阅下面的Xcode 6.1发行说明中的​​问题描述:

本地化和键盘设置(包括第三方键盘)在iOS 8.1 Simulator中未被Safari,地图和开发人员应用正确认可。[NSLocale currentLocale]返回en_US,只有英文和表情符号键盘可用。(18418630,18512161)。

有关更多详细信息,请参阅Xcode 6.1发行说明

扫码关注云+社区

领取腾讯云代金券