2014-02-06 66 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是最重要的。如果應用程序沒有崩潰,這意味着你有一個文件的緩存副本,這是不好的。我不知道爲什麼這會修復事情,但我希望我做到了。

在此之後,事情運作順暢(使用基地國際化或不)。