我想知道在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