我对Swift和Xcode很新。我有一个应用程序将交付给多个客户端。该应用程序本质上是相同的,只更改名称,图标,颜色(显然捆绑,测试和部署的证书等),但100%的源代码是相同的。对此最好的方法是什么?在独特的工作区中拥有不同的项目?我应该在哪里包含每个应用程序的细节。
我也尝试过分拣整个git源代码树(工作区和项目)并更改细节,但是如果我在主项目中更改某些内容(例如错误修复),当我尝试合并到子项目时,我得到了冲突,例如在Info.plist文件中,因为它们有一些不同的值。
答案 0 :(得分:1)
您可以尝试为每个客户端使用分支,或者您建议为每个客户端分叉代码。然后,您可以在分支或分叉代码中使用info.client.plist
,并使用构建事件将其与构建时的info.plist
合并。在您的主分支中,您可以拥有info.master.plist
。然后只提交这些plist文件并忽略info.plist
。
您还需要制定合并策略,以便检查正在合并的内容,您可能会遇到clientA
分支中的某些代码或功能特定于该客户端的情况。所以不应该合并,或者反过来在master中实现一些不应该合并到特定客户端的东西。
有许多选项可以实现您的要求,并且没有应用程序的细节以及如何为每个客户端实现功能,很难就最佳使用方法给出明确的答案。上面的方法只是解决这个问题的一种方法,HTH。
答案 1 :(得分:0)