我的想法是,我有一个应针对不同客户端定制的应用程序模板。主要目标是为许多个性化的应用程序提供几乎相同的功能。
Xcode项目组织(也许是管理)的最佳方法是什么,以便为每个客户的应用程序实现以下几点:
目前,对于每个个性化请求,我都在同一项目的根目录中创建新的项目文件,并在相应的 XIB文件中创建,图像设置和源文件(对于某些功能请求)目录。每个项目文件都有对主源文件目录(引擎)的引用。
但是我认为这不是组织此类项目的最佳方法。
最佳答案
创建项目模板-或仅包含模板的zip文件。
首先,确定可以在哪里使用(例如)xml defs而不是覆盖和其他源代码级更改。
将占位符资源添加到项目模板
将其添加到项目中,通过vc引用更改(如果已更改)
核心库,在所有项目中共享。如果库很大,请考虑使用c或c++。 objc无法剥离。它包含实现 stub ,以及通用代码,基类和接口(interface)。
扩展核心类的接口(interface),以便子类可以轻松实现频繁的更改。这些文件是模板的一部分。
它应该在vc中,并且还应该跟踪依赖版本。
未定义的工厂函数非常简单:
id<MONSearchEngineProtocol> MONAppCoreCreateSearchEngine();
在静态库中声明它,但在特定于项目的源之一中定义(并实现必要的功能)。您可以将其添加到其他地方-有些人会将其填充到应用 Controller 中并覆盖它。
如果您要管理很多,请考虑将资源转移到代码上(而不是管理大量的 Nib )。 Nib 定义了很多代码-这是很多几乎重复的代码要管理。这对于某些资源而言是有意义的,而对于其他资源而言则没有太大意义。