NSLocalizedString() 从 Localizable.strings 本地化之前获取缓存条目

NSLocalizedString() picking up cached entry from before Localizable.strings is localized

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

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

  1. 您可以在下面的屏幕截图中看到,当我只有一个 Localizable.strings 文件时,代码可以很好地找到我正在寻找的 key/value 对 https://www.evernote.com/l/AAIi1y9qYi5H9o_SiUduTECZJZMvYr5FCfw
  2. 当我尝试本地化 Localizable.strings 文件(即文件的基础版、英文版、中文版)时,NSLocalizedString() returns 我有一个 [=42= 时的键值] 文件。 https://www.evernote.com/l/AALbxEQwnuVFHaHMLduAgZw5N1op8o2Alc8 我知道会发生这种情况,因为当我在所有三个文件中更改同一个键的值时,它仍然返回旧值。

我也试过了

  1. 重置模拟器设置(这表明缓存在构建中)
  2. 正在重新启动 simulator/Xcode
  3. 在我的项目中搜索旧值,找不到 NSLocalizedString 返回的旧值
  4. 将密钥完全更改为其他内容,NSLocalizedString 只是 returns 在这种情况下的密钥
  5. 重新创建 Localizable.strings 文件并使用文件检查器再次对其进行本地化,每次都会发生同样的事情

我真的运行没主意了。我正在使用 Xcode:版本 6.3.1 (6D1002),任何帮助将不胜感激:)

原来我必须清理构建。在 xcode.

中转到产品 -> 清洁