ios - ios本地化的XIB文件未从文件夹 base.lproj 复制

  显示原文与译文双语对照的内容

我用基本国际化和可以本地化的字符串本地化了所有的xib文件。 本地化xibs的文件夹结构如下所示


base.lproj/LoginView.xib


de.lproj/LoginView.strings


en.lproj/LoginView.strings



在模拟器上一切都正常 ! 在设备上,我得到了错误


Could not load NIB in bundle: 'NSBundle </var/mobile/Containers/Bundle/Application/FCAF9E1E-7871-4DC4-8B2B-0B83F94585F0/myApp.app> (loaded)' with name 'LoginView''



通过以下命令,我检查了每个设备上可用的资源:


print(NSBundle.mainBundle().pathsForResourcesOfType("nib", inDirectory: nil))



我看到,所有基本xibs都可以在模拟器上的base.lproj 文件夹中使用,但不在真实设备上。 这些文件在真正的设备上丢失了。

for: 在 比如 en.lproj 或者 de.lproj 中的实际设备 xibs ( ) 中,当我从可以本地化字符串更改为ccr时,将。

我已经清理干净,清理了构建文件夹,导出了数据文件夹,并从手机删除了应用程序。 我还重启了所有的( 就像许多人推荐的) 。 谁 得到 工作 了?

什么可以阻止Xcode将 base.lproj 文件夹中的文件复制到真正的设备? ( en.lproj 和 de.lproj 中的xibs被复制)

时间: 原作者:

我最终找到了一个我在任何地方都找不到的解决方案。 所以如果它可以帮助某人:

  • 我从"复制包资源"构建阶段删除了所有本地化的xib文件
  • 我从项目中删除了所有本地化的xib文件
  • 我将 base.lproj 文件夹中的所有xib文件复制回父文件夹
  • 我删除了所有本地化文件夹内容( lproj 。)
  • 我将文件逐个添加到项目中,然后再次进行本地化
原作者:
...