NSLocalizedString 给出其他语言然后 phone 在

NSLocalizedString gives other language then phone is in

我的项目基础语言是英语。我的 simulator/phone 是英文的。项目支持英语、法语、荷兰语。

当应用程序首次启动时,即使 phone 是英语,应用程序始终是法语。

当我调试并打印出这一行时:

[NSLocale preferredLanguages][0];

它给了我正确的语言,即英语。

有人知道这是为什么吗?

我猜 Apple 在模拟器上出了什么问题,因为它可以在 Xcode 6.1 的真实设备上运行。在真实设备上查看

请检查以下内容。

  1. 点击您的 project_name -> 编辑方案...
  2. 单击 'Options' 选项卡
  3. Select 'Application language' 英语(或任何你需要的)

仅重命名本地化文件可能会导致其他一些错误。这是关于基本本地化的 Apple 指南:

https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html

为了删除基地本地化:

  1. 在文件检查器中单击您的项目。
  2. Select 'Info' 点击你的项目并在 'Localizations' 部分取消选择 'Use base Internationalization'

希望对您有所帮助。