基础国际化和多个故事板不能正常工作

tho*_*s.g 13 internationalization storyboard ipad ios

我在xCode 4.6上玩多个故事板和基础本地化.其实我

我做了:

1)编辑我的项目信息localisations:选中"Use Base Internationalization"并添加语言:英语,中文

2)创建一个名为"anotherstoryboard.storyboard"的新故事板

3)使用Base国际化本地化我的新故事板(文件检查器/本地化 - 本地化).

4)在我的app委托中,我动态加载我的本地化故事板,如下所示:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"anotherstoryboard" bundle:nil];
Run Code Online (Sandbox Code Playgroud)

案例1: =>有效

对于我的新故事板(步骤3),我选择Localization Chinese - Interface Builder Cocoa Touch Storyboard

在此输入图像描述

它工作但现在我必须维护本地化的故事板,用IB编辑它们.我不想要这样的行为,我只想使用基础国际化和本地化.strings文件.

案例2: =>崩溃

对于我的新故事板(步骤3),我选择Localization Chinese - Localizable Strings

在此输入图像描述

该应用程序崩溃说它无法找到我的故事板

'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'anotherstoryboard' in bundle NSBundle </Users/me/Library/Application Support/iPhone Simulator/6.1/Applications/8E036C84-6058-4420-94B4-1726E1F686AD/HelloWorld.app> (loaded)'
Run Code Online (Sandbox Code Playgroud)

我做错了什么?为什么iOS在案例2中找不到合适的故事板?

Chr*_*enz 14

在Xcode 4.6.2中开始本地化新的故事板后,我刚刚遇到了同样的问题.我按照这里和其他地方的建议检查了所有设置是否正确,事实确实如此.

对我来说,通过在Xcode中关闭项目并从Finder手动清除Xcode"Derived Data"目录(请参阅Xcode首选项)来解决问题.然后我重新打开了这个项目,做了一个干净的构建,并且故事板得到了正确编译并按预期工作.


who*_*9vy 2

我尝试了与你完全相同的方法,我可以说这个错误将会发生,正如你所显示的那样。

解决方案是从目标构建阶段删除并添加故事板文件。因此,单击您的目标,如图所示目标的构建阶段

然后从构建阶段删除故事板文件并再次添加。

这对我有用!