Ios NSLocalizedString()在本地化可本地化字符串之前从中提取缓存项

Ios NSLocalizedString()在本地化可本地化字符串之前从中提取缓存项,ios,xcode,swift,localization,localizable.strings,Ios,Xcode,Swift,Localization,Localizable.strings,我正在构建我的第一个IOS iphone 6应用程序 我在让Xcode从本地化版本的Localizable.strings中提取键/值对时遇到问题。NSLocalizedString()方法似乎在我本地化Localizable.strings文件之前返回缓存项 您可以在下面的屏幕截图中看到,当我只有一个Localizable.strings文件时,代码很好地选择了我想要的键/值对 当我尝试本地化Localizable.strings文件(即具有文件的基本、英文、中文版本)时,NSLocaliz

我正在构建我的第一个IOS iphone 6应用程序

我在让Xcode从本地化版本的Localizable.strings中提取键/值对时遇到问题。NSLocalizedString()方法似乎在我本地化Localizable.strings文件之前返回缓存项

  • 您可以在下面的屏幕截图中看到,当我只有一个Localizable.strings文件时,代码很好地选择了我想要的键/值对
  • 当我尝试本地化Localizable.strings文件(即具有文件的基本、英文、中文版本)时,NSLocalizedString()返回我拥有一个Localizable.strings文件时的键值。 我知道这是因为当我在所有三个文件中更改同一个键的值时,它仍然返回旧值
  • 我也试过了

  • 重置模拟器设置(这表明缓存在生成中)
  • 重新启动模拟器/Xcode
  • 在我的项目中搜索旧值时,找不到NSLocalizedString返回的旧值
  • 在本例中,NSLocalizedString将密钥全部更改为其他内容,只返回密钥
  • 重新创建Localizable.strings文件并使用文件检查器再次对其进行本地化,每次都会发生相同的事情

  • 我真的没什么主意了。我正在使用Xcode:Version 6.3.1(6D1002),任何帮助都将不胜感激:)

    结果我不得不清理构建。转到Product->Clean in xcode。

    尝试最新版本的xcode,并在设备上试用该应用程序,看看结果是否有变化。根据公认的答案,此问题是不可复制的,因为project Clean修复了它。