TL; DR:
似乎本地化不适用于xCode 6.1和8.1模拟器.
解决方法:
转到"编辑方案">>"运行"(侧栏)>>"选项"选项卡>>"应用程序语言"
在模拟器上选择要运行应用程序的语言.
很长的故事:
我已将xCode更新为6.1.更新删除了iOS 7.x模拟器,只留下8.x模拟器.
我已经完成了以下步骤:
该项目支持英语和日语.
在7.1模拟器(5s)上,本地化按预期工作.
在8.1模拟器(5s)它不起作用.
我猜测Apple在模拟器上破坏了一些东西,因为它适用于真实设备.
关于这个的任何意见,其他人都遇到过类似的问题吗?
编辑
它似乎是模拟器中的一个错误,参考:
Apple Dev Forums
如果我将iOS 8.1模拟器上的语言更改为任何内容并尝试从代码中检测到这一点
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Language: %@", language);
Run Code Online (Sandbox Code Playgroud)
我得到了"恩".我已经尝试重置导航器等.我已经尝试使用iOS 7.1运行时(在Xcode 5.1.1中),它工作正常.有没有人设法找到解决此问题的方法?
模拟器的语言已经改为日语,为什么[[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"找到一个?日语和英语在哪里?自从昨天更新到Xcode 6.1以来,iOS模拟器中没有正确的应用程序本地化.我将语言和地区切换到德语/德语,我的应用程序仍然是英语,只有英语键盘可用.Xcode 6.0.1和iOS 8.0 Simulator中的本地化很好.
有没有人有类似的问题?

昨天Xcode更新到v6.1.
现在,[NSLocale preferredLanguages]在iPhone中返回一个空数组,但仅适用于IOS 8 - 在iPhone 5和6模拟器中.IOS 7模拟器仍然正常工作.
物理iPhone 6设备似乎没有受到影响 - 它只是模拟器.
通常的尝试 - 清理项目,重新启动Xcode,重启Mac - 没有任何区别.那么,什么是最好的策略 - 等待Xcode 6.1.1,或者向Apple列表(哪一个)发送投诉?