2015-01-09 62 views
0

我想知道在Git中處理子模塊時,在Xcode中處理本地化資源的最佳方法是什麼。這就是我的意思:Xcode Git子模塊中的本地化資源

比方說,我有一個iOS應用程序,其中的文件作爲Xcode項目存在,有各種子目錄等等。我們將其稱爲香蕉應用程序。

然而,我發現,我需要建立蘋果葡萄,並檸檬應用。幸運的是,我的Bananas應用程序中的大部分代碼都是可重用的。

我從香蕉拿走了可重複使用的代碼,並在git中創建了一個名爲Fruit的子模塊。我所有的四款美味應用都有Fruit子模塊。

在文件系統中,它看起來像這樣:

projects 
└── bananas 
    ├── Xcode.project 
    ├── file1 
    ├── file2 
    └── fruit 
     ├── codeFile1 
     ├── codeFile2 
     ├── xib1 
     └── xib2 

現在我需要我的應用程序的所有四個翻譯成多種語言。首先,我進入香蕉並將NSLocalizedString加到所有代碼文件中,其中包括水果子模塊中的codeFile1codeFile2。我還打開xib1xib2的基本本地化。這將xib移動到一個子文件夾Base.lproj,並讓我通過Editor > Export for Localization創建.strings文件,併爲不同的本地化創建備用xib文件。

在Git中,我將這些更改提交到我的Bananas存儲庫,並將更改提交到Fruit存儲庫並更新Bananas中的指針以指向此新的子模塊提交。一切都很好,在那裏正常。這裏是我的目錄結構是什麼樣子現在:

projects 
└── bananas 
    ├── Xcode.project 
    ├── file1 
    ├── file2 
    └── fruit 
     ├── codeFile1 
     ├── codeFile2 
     └── Base.lproj 
      ├── xib1 
      └── xib2 

然而,當我開始在蘋果工作,並更新果子模塊指針到最新版本,各種目錄的修改(項目搬進Base.lproj)不反映在我的Xcode.project文件中。這些文件顯示爲失蹤,因爲它們已被我更新我的Git子模塊。

Xcode.project文件中包含這些更改到目錄結構的最佳方法是什麼,這樣我就不會在Git子模塊中執行本地化來破壞項目?

我最好的猜測是,也許我可以爲Fruit創建一個子項目文件,然後在每個應用程序中包含Fruit項目。這是這樣做的方式,還是有更好的方法?

回答

0

我過去採用的方法是爲每個子模塊創建一個新的.project。具有「實例」project和一個或多個子模塊「基類」projects的應用程序變成xcworkspace

+0

好的,這或多或少是我的想法。你可能會詳細討論你是如何完成這個的?我正在努力弄清楚這一點。 (Xcode 6.1.1) – 2015-01-09 20:54:03