我使用基本国际化和每种语言的可本地化字符串本地化了我的所有xib文件。本地化xib的我的文件夹结构是例如像这样
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))
在这里,我看到所有base-xib都可以在模拟器上的base.lproj文件夹中找到,但不是在真实设备上。这些文件在真实设备上丢失了。
什么有效:在真实设备上xibs(!)在例如当我从每个本地化文件的可本地化字符串更改为xib时,将复制en.lproj或de.lproj。
我已经做了一个干净的,清理了Build文件夹,派生数据文件夹,当然也从手机中删除了应用程序。我也重新启动了所有东西(正如很多人建议的那样)。没有任何效果。
什么可以阻止Xcode将base.lproj文件夹中的文件复制到真实设备? (当复制en.lproj和de.lproj中的xib时)
答案 0 :(得分:1)
我最终找到了一个我在任何地方都找不到的解决方案。所以如果它可以帮助某人: