关于iOS9 更新后,微博,微信 语言变成英语的问题

iOS9 真是坑啊,好不容易熬到17号凌晨,等到了iOS9的推送更新,经过漫长的下载,更新完成后发现 微博变英文版了,并且微信,uber等许多应用都出现了问题。并且正好赶上自己的项目也在做本地化,所以仔细查找了下原因。(如果有补充可以直接回复,谢谢)

具体问题出在大家都使用了一个获取当前系统语言的判断

// 当前所在地信息
    NSString *identifier = [[NSLocalecurrentLocale] localeIdentifier];
    NSString *displayName = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifiervalue:identifier];
    NSLog(@"%@", displayName);

    // 当前所在地的使用语言
    NSLocale *currentLocale = [NSLocale currentLocale];
    NSLog(@"Language Code is %@", [currentLocale objectForKey:NSLocaleLanguageCode]);

    // 系统语言
    NSArray *arLanguages = [[NSUserDefaultsstandardUserDefaults] objectForKey:@"AppleLanguages"];
    NSString *strLang = [arLanguages objectAtIndex:0];
    NSLog(@"LANG:%@",strLang);

输出语言 后发现:
在iOS7 、iOS8系统下输出:

{
en 英语
zh-Hans 简体中文
}

而在iOS7 、iOS8系统下输出:

{
en-zh 英语
zh-Hans-US 简体中文
}

而如果你在程序中使用了类似的代码,导致系统语言是汉语但是判断不匹配,从而出现了 英文版的问题。

if ([currentLanguage isEqualToString:@"zh-Hans"]) { 
      // 使用汉语 。。。。
    }
 else{
    //使用英语
}    

苹果这次 真坑了不少人啊! ….

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值