我想知道在Git中處理子模塊時,在Xcode中處理本地化資源的最佳方法是什麼。這就是我的意思:Xcode Git子模塊中的本地化資源
比方說,我有一個iOS應用程序,其中的文件作爲Xcode項目存在,有各種子目錄等等。我們將其稱爲香蕉應用程序。
然而,我發現,我需要建立蘋果,葡萄,並檸檬應用。幸運的是,我的Bananas應用程序中的大部分代碼都是可重用的。
我從香蕉拿走了可重複使用的代碼,並在git中創建了一個名爲Fruit的子模塊。我所有的四款美味應用都有Fruit子模塊。
在文件系統中,它看起來像這樣:
projects
└── bananas
├── Xcode.project
├── file1
├── file2
└── fruit
├── codeFile1
├── codeFile2
├── xib1
└── xib2
現在我需要我的應用程序的所有四個翻譯成多種語言。首先,我進入香蕉並將NSLocalizedString加到所有代碼文件中,其中包括水果子模塊中的codeFile1
和codeFile2
。我還打開xib1
和xib2
的基本本地化。這將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項目。這是這樣做的方式,還是有更好的方法?
好的,這或多或少是我的想法。你可能會詳細討論你是如何完成這個的?我正在努力弄清楚這一點。 (Xcode 6.1.1) – 2015-01-09 20:54:03