我开始在一家开发移动支付应用程序的公司工作。有一个“终端”-应用程序,它接收客户的付款,然后有一个“钱包”-应用程序,用户可以下载并使用它来支付(在那些终端上)。
该项目由 2 个目标组成 - 一个用于钱包,一个用于终端。该应用程序仅在 2 个国家/地区使用。这一切都非常复杂,并且拥有庞大的代码库。
现在我需要为想要使用我们的应用程序(两个目标)和他自己的品牌(可能还有一些附加功能或没有一些特定功能)的客户标记整个产品,我不确定最好的方法是什么实现这一目标。
目前我看到 3 个选项:
- 复制整个项目
将整个项目复制到一个新文件夹并在该新文件夹中进行更改可能是最“肮脏”的方法。在某些时候,我的第一个代码库可能与重复的代码库相差太大。此外,如果出现任何与安全相关的问题,我将不得不在两个项目中修复它。
- 创建另外 2 个目标
我实际上认为这将是最好的方法。为钱包和终端创建一个新目标,然后检查源代码中的当前目标以决定应该启用或禁用哪些功能一开始对我来说听起来很不错。但后来我创建了新目标,并注意到我必须在每个类上为该新目标设置该复选标记。除此之外,我不确定这是否真的是最好的方法。
- 使用 If 条件
第三种选择是使用 if 循环包装每个仅在其中一个应用程序中可用的函数。我认为这是“最便宜”的选项,因为它很容易设置,而且我仍然可以很好地维护我的代码库。
我还有其他选择吗?你会走哪条路?
基本应用程序和白标应用程序之间最显着的区别将是其语言。白标版本是从右到左的,但 iOS 在这方面做得很好,不需要我做所有的镜像。