76

如果我将 iOS 8.1 模拟器上的语言更改为任何语言并尝试从代码中检测到这一点

NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Language: %@", language);

我得到“en”回来。我已经尝试过重置导航器等。我已经使用 iOS 7.1 运行时(在 Xcode 5.1.1 中)进行了尝试,并且效果很好。有没有人设法找到解决这个问题的方法?

4

5 回答 5

168

根据发行说明,这是一个已知问题。有一个解决方法。如果你去“编辑方案...”然后“选项”选项卡有一个“应用程序语言”选项。这只会影响当前的运行设置,而不是应用程序,就像更改设备的语言一样。

在此处输入图像描述

于 2014-11-01T22:25:38.730 回答
1

尽管有德国硬件键盘,iOS8.1 Simulator的另一个骗局总是使用美国键盘布局

Xcode 6.1 发行说明中提到的已知和记录的错误。如果您想在http://bugreport.apple.com 上将您的 +1 添加到投诉列表中,请提交雷达

于 2014-10-29T01:58:12.667 回答
1

我的模拟器是法语的。当我想检查英文界面时,更改 iphone 语言是不够的。我必须至少切换两次区域设置。

于 2015-12-15T16:50:20.290 回答
0

使用 [[NSLocale 可用的LocaleIdentifiers]

于 2014-10-08T20:20:33.880 回答
0

就我而言,编辑模式适用于地区,但不适用于语言。它看起来被开发语言覆盖。像这样更改 developmentRegion 可以很好地与 project.pbxproj 一起使用。

developmentRegion = ja;

在此处输入图像描述

Xcode 版本 11.3.1 (11C504)

iPhoneX iOS 13.3.1

于 2020-02-17T07:27:02.357 回答