Simulator的语言已经改为日语,为什么[[NSLocale preferredLanguages] objectAtIndex:0]
总是返回"en"
?
首选语言和地区都与" en"无关,"en"
来自哪里?
试图获得[[NSLocale preferredLanguages] objectAtIndex:
2 ]
,然后崩溃显示*** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFArray objectAtIndex:]: index (2) beyond bounds (1)
这是否意味着模拟器中没有设置任何语言?太奇怪了!
在使用iOS8.1 / 7.1升级到Xcode 6.1之前,这种情况从未发生过。
与此同时,在我的iPhone 5上做了同样的事情,控制台输出正确的东西。
为什么这么奇怪?有没有人有这样的问题?
哦!怎么了......
"en"
,找不到日语和英语!"en"
?日语和英语在哪里?答案 0 :(得分:28)
这是一个错误。这让我发疯了。 Apple已经知道了。
看到这个答案:
iOS8.1 Simulator always uses US keyboard layout despite german hardware keyboard
和此:
iOS 8.1 Simulator Localization broken (NSLocalizedString)
(在答案中有一个临时修复更改架构)
最佳, 黎姿
答案 1 :(得分:0)
我的iOS模拟器突然开始报告"en"
而不是"en-US"
,所以看起来这个问题仍然有效。
转载于:
我进入语言设置,选择了英语和美国。我选择了加拿大和法国,得到"fr-CA"
。然后我将其切换回来并再次开始获取"en-US"
。我从那时起就无法重现"en"
问题。
所以看来我们无法传递[NSLocale preferredLanguages]
的值,假设它们是语言区域对。