管理iOS应用程序的多个版本

让我们说我有一个iOS应用程序让我们说,足球新闻,现在我想创建一个其他版本的篮球新闻,将主要基于足球应用程序,但可以自由地在每个应用程序的某些方面创建不同的行为添加更多应用程序在未来的其他新闻主题.

另一个条件是它们将有一个单独的CoreData模型,资产,图标等.

据了解,我有几个选择:

>分别管理应用程序,将它们放在同一目录中,并指向第一个(足球应用程序)中的共享文件.
>为同一个项目中的每个应用程序创建一个不同的目标
>创建一个工作区,一个项目将保存通用代码和项目.

每个选项的优缺点是什么?这种情况下的最佳做法是什么?

只是为了澄清 – 我提到的应用程序是一个例子,应用程序不是新闻,它必须是一个不同的应用程序的每个概念.

谢谢

解决方法

我在企业环境中工作,我们有一个移动应用程序,这是我工作的公司的产品.我们向我们的客户销售该软件的许可证,这些公司始终是巨大的公司.我们的应用程序不会通过App Store.

我们的每个客户都可以通过简单地更改其徽标,甚至为其中一个添加一些特定功能来对应用进行某种定制.我的意思是:我们必须每天处理一个非常接近你所描述的情况,这是我的两美分.

提前:抱歉,如果我太老实有时,我不意味着冒犯任何人.

1.分别管理应用程序,并指向第一个(足球应用程序)中的共享文件.

那么这是一个奇怪的解决方案,但肯定可以工作.使用SVN / Git(特别是在团队工作时)可能难以维护本地,甚至更难.

之前我有一些问题涉及到象征性的链接,但我不知道这是你在这个选项中提到的.如果你解释一点点,我可以编辑这个,并尝试给你一个更好的意见.

2.为同一个项目中的每个应用程序创建一个不同的目标

这是一个更好的开始,在我看来.

我们主要使用这种方法来处理各种可能的后端服务器.例如,我们的目标之一使用我们的开发后端服务器,而另一个目标则使用生产服务器.这有助于我们确保我们可以使用开发目标的应用程序,而不会对我们的团队造成严重的成本风险(例如由于错误的订单).

在这种情况下,您可以在目标上配置预处理宏,以启用/禁用代码调用的一些特定于目标的功能.您也可以为每个目标使用不同的故事板.

这个选项的缺点在于,代码将是乱码的,因为每一段代码都将在同一个项目中.这是我选择#3的主要原因.

3.创建一个Workspace,其中一个项目将保存每个项目的通用代码和一个项目.

再次,我会去这个.说实话,我们没有在我们公司YET上使用这个,但是由于内部原因.我尽快地为我们的项目做好准备.

我不会说它容易设置,但如果做得很好,它可以帮助您节省一些时间,因为维护的原因.您将能够重用可重用的任何代码,并且仍然能够将目标特定的图像,类和视图保留在自己的“容器”(项目)中.

这样,您将得到一个默认项目(应用程序本身),它的多个目标,以及一个“框架”来保持每个目标的代码.换句话说,您可以在多个目标/应用程序之间共享代码,同时您可以分离每个目标/应用程序所属的代码.没有凌乱的项目:)

我不知道CoreData是如何由Xcode编译的,因为我们没有使用它.但是请查看我刚刚为another question做的答案.这不是Swift,但是这不应该有太大的区别,因为几乎所有的答案都是关于配置工作区来实现这个解决方案.不幸的是,我觉得它太大了,这就是为什么我连接答案而不是粘贴在这里的原因.

如果您需要任何帮助设置,请告诉我,我会尽力帮助您.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...