我有几个单独的应用程序具有完全相同的逻辑和功能,但具有不同的图标和一些设计元素。问题是,当对逻辑和功能进行一些更改时 - 我需要手动将此功能添加到所有应用程序,之后 - 我需要重新提交每个应用程序。
也许有一些方法可以将所有逻辑分开,所以我只需要在一个地方更改它,而我的所有应用程序都会得到它?
答案 0 :(得分:2)
在我看来,最好的解决方案是让一个代码库具有多个目标。是的,当您更改某些代码时,您仍然需要重新提交每个应用程序,但不管怎么说,您还必须这样做吗?
您可以选择一个应用转换为“主要”代码库。
E.g。选择app one并多次复制目标:
执行此操作后,您需要更改方案名称:
您可以像以前一样为每个应用分别设置捆绑包标识符和部署信息,并设置图标集:
要区分您的代码中的应用程序,您可以使用编译器标记(目标 - >构建设置 - 其他快速标记):
然后,您可以在代码中执行以下操作:
#if APP_ONE
...
#else
...
#endif
答案 1 :(得分:0)
一个解决方案(虽然不一定是最好的)是拥有一个代码库。即每个类只有一个物理副本。所有代码文件都位于其中一个项目的文件夹中,其他项目也使用这些文件。这只是设置路径的问题。 在这种结构中,当您在其中一个项目中更改或添加一些代码时(并不重要),所有项目都会更新。 每个项目的图像目录都不同。 这种方法的缺点是您仍然需要单独构建和提交每个应用程序,并且在添加新类时,您需要手动将其添加到所有项目中。否则他们将无法编译。 优点是,在构建应用程序时,您只构建一个应用程序而不是所有应用程序(更少的时间)。管理特定应用程序的更改也很容易 - 您只需将一些带有附加功能的扩展添加到一个项目中 - 其余的不需要它。