在XCode5中编译后未复制非默认故事板

时间:2014-02-06 19:52:41

标签: xcode localization internationalization storyboard xcode5

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

./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

欢迎提出意见/建议。我正在考虑编写一个脚本来手动复制这些资源,假设它甚至可以工作。

1 个答案:

答案 0 :(得分:0)

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

  1. 从任何目标成员资格中删除故事板(或XIB);
  2. 执行干净的构建(并清理构建文件夹);
  3. 关闭XCode;
  4. 从设备/模拟器中删除应用程序;
  5. 删除XCode的DerivedData目录的内容(参见首选项);
  6. 重建并启动应用程序,导航到故事板/ XIB所在的区域(这应该会导致崩溃);
  7. 在目标会员资格下重新添加storyboard / XIB;
  8. 重建并启动。
  9. 步骤#6是最重要的。如果应用程序没有崩溃,则意味着您在某处拥有该文件的缓存副本,这是不行的。我不知道为什么这会解决问题,但我希望我能做到。

    在此之后,事情会顺利进行(使用Base Internationalization或不使用Base)。