所以我有这个应用已经在应用商店。为了获得对多语言本地化的支持,我们最近更改了本地化配置。
旧配置:
./Localizable.strings
新配置:
./Swedish.lproj/General.strings
./Swedish.lproj/Localizable.strings
./Swedish.lproj/Settings.strings
如果我删除旧版本并安装新版本,一切都按预期工作,但如果我在安装新版本时将旧版本保留在手机上,则./Swedish.lproj/Localizable.strings
中的翻译将不可见。所以在我看来,旧的./Localizable.strings
仍然留在手机上,隐藏了新的./Swedish.lproj/Localizable.strings
。 ./Swedish.lproj/General.strings
和./Swedish.lproj/Settings.strings
中的翻译都有效。
我担心如果我们发布更新,用户将在安装更新之前被迫卸载应用程序以使翻译生效,这意味着他们将丢失所有已保存的数据。所以你可以看出为什么这个问题具有高优先级。
如果我已正确理解问题的原因,我的问题是如何摆脱手机上已存在的./Localizable.strings
?更一般的问题是如何解决这个问题?
答案 0 :(得分:7)
你是在调试模式下测试它,Xcode是将新二进制文件安装到设备/模拟器上,还是你正在进行Adhoc构建和存档,然后通过itunes测试更新?
我知道xcode在执行构建和调试模式下运行时有时不会覆盖文件。触摸该文件无济于事,但只有干净,退出并重新启动Xcode和模拟器才能解决问题。
如果您使用的是adhoc版本,则可能会覆盖完整的应用包。如果这不起作用,那么严重的就是错误。