2014-02-06 28 views
0

我有一个使用多个故事板的项目。在开始国际化/本地化时,我开始区分故事板。但是,我发现非默认(即不是MainStoryboard.storyboard)文件被编译,但不复制到该包中。例如,下面的文件都存在:非默认故事板在XCode5编译后不被复制

./DerivedData/.../fr-CA.lproj/MainStoryboard.storyboardc 

./Library/Application Support/iPhone Simulator/.../fr-CA.lproj/MainStoryboard.storyboardc 

./DerivedData/.../fr-CA.lproj/Foo.storyboardc 

,但是这个人是不是:

./Library/Application Support/iPhone Simulator/.../fr-CA.lproj/Foo.storyboardc 

建议/想法,欢迎。我正在考虑编写脚本来手动复制这些资源,假设这些资源甚至可以工作。

+0

当您查看您的目标设置并选择“构建阶段”选项卡时,是否在“复制包资源”列表中包含此替代故事板?如果没有,点击'+'按钮并添加它。 – Rob

+0

是的,它在那里。我也尝试删除并重新添加它,以及清理DerivedData目录并做一个干净的构建。 –

+0

@DavidCarney你有这个运气吗? –

回答

0

我找到了一个解决方案,但“解决”可能是一个更好的描述:

  1. 删除故事板(或XIB)的任何目标成员;
  2. 做一个干净的生成(并清理生成文件夹以及);
  3. 关闭XCode;
  4. 从设备/模拟器中删除应用程序;
  5. 删除XCode DerivedData目录的内容(请参见首选项);
  6. 重建并启动应用程序,导航到故事板/ XIB所在的区域(这应该导致崩溃);
  7. 在Target Membership中重新添加故事板/ XIB;
  8. 重建和启动。

步骤#6是最重要的。如果应用程序没有崩溃,这意味着你有一个文件的缓存副本,这是不好的。我不知道为什么这会修复事情,但我希望我做到了。

在此之后,事情运作顺畅(使用基地国际化或不)。