我有一个应用程序,我将其称为“基本应用程序”。该应用程序可与许多品牌一起使用。
我现在需要分离这些品牌,并为每个品牌制作一个独特的应用程序。
每个应用程序的设计都会稍有不同(包括不同的图像),在这里和那里可能会有一些特定于品牌的代码。
所有应用程序还应使用“基本应用程序”中处理逻辑的相同基本代码。

我曾经考虑过一些选择,但不确定是否有任何选择适合我的需求。乐于澄清选项之间的差异。

我认为的选择是:

1)为每个品牌创建一个应用程序,然后仅将“基本应用程序”中的类文件复制粘贴作为引用,.xib文件除外,该文件将作为副本进行复制。问题在于,那时我不知道如何以及在何处编写品牌特定代码(因为它将在其他代码之间共享)。

2)创建一个工作区,其中将包括每个品牌的项目。不知道这是如何工作的,如果这是正确的,将很高兴在这里提供帮助。

3)在每个品牌的项目中嵌套一个“基本应用”项目。任何帮助澄清其作用将不胜感激。

3)将基本应用程序用作静态库,该库将链接到每个品牌的项目中。不知道UI会发生什么(共享,不共享)。也会很高兴在这里为您提供帮助。

4)使用一种简单的方式来维护品牌的每个项目,包括共享代码(我想这将是一场灾难)。

最佳答案

iOS中的简单解决方案是使用目标。

对于资源,您可以为每个品牌使用不同的目标,然后为每个目标选择不同的资源(图像,XIB等)。

另外,如果代码更改很小,则可以重构代码的某些部分,并为每个目标创建具有不同实现的不同类(可以使用某种模式,例如Factory)。您也可以简单地使用预处理器宏。

并不是更好,但这是最简单快捷的方法,但是如果您的代码有很大变化,最好像其他答案一样创建一个核心库。

10-05 18:34
查看更多