情况:
我有一个具有一些核心功能的基本应用程序。
我的客户(可能有几十个)都希望在应用商店中拥有自己的定制应用。
问题
如果我在应用商店中有几十个应用,并且我想更改一些核心功能,我将不得不更新相应项目中的每个文件、编译、通过 iTunes Connect、上传等。每一个小改动都可能需要几天时间无脑的工作。
问题
有没有办法可以使用 git 之类的版本控制系统分别管理具有核心功能的代码部分,以便在我提交对核心文件的更改时自动更新所有项目?
有没有其他方法可以使这个过程更容易管理?
情况:
我有一个具有一些核心功能的基本应用程序。
我的客户(可能有几十个)都希望在应用商店中拥有自己的定制应用。
问题
如果我在应用商店中有几十个应用,并且我想更改一些核心功能,我将不得不更新相应项目中的每个文件、编译、通过 iTunes Connect、上传等。每一个小改动都可能需要几天时间无脑的工作。
问题
有没有办法可以使用 git 之类的版本控制系统分别管理具有核心功能的代码部分,以便在我提交对核心文件的更改时自动更新所有项目?
有没有其他方法可以使这个过程更容易管理?
通常,如果您有一些需要在 iOS 中重用的核心功能,您将创建一个可以包含在其他项目中的静态库,或者(如果核心功能包含无法包含在静态库中的资产之类的东西) ) 你会有一个子项目。不过,在这两种情况下,您都需要确保您的每个应用程序项目都与您的核心功能项目具有目标依赖关系,以便始终使用最新更改重新构建它。
git sumodule update
以为每个应用程序发布并重新编译。另一种选择可能是使用git 子模块来组织公共代码,然后让每个单独的项目简单地将您的公共代码添加为子模块。
我对 Xcode 的“目标”结构并不熟悉,所以这实际上可能是一种更好的方法。但是您绝对可以为此使用 git。
可能你想要一个所有通用东西都存在的“主”分支,然后是应用程序的每个“定制”版本的分支。
当 master 中有更改时,您将通过每个自定义分支合并这些更改。然后,您将从每个分支构建一个产品以提交给商店。
在每个分支中,您将分别设置应用程序 ID、从一个版本到下一个版本所需的任何艺术和文本更改、适合此版本的任何键设置等。所有这些设置都可以保留在自定义版本分支的本地。
这是 git 中一个完全有效的工作流程。这不是大多数人使用它的方式,但那是因为大多数人都在使用一种生产产品,而不是很多人。
您可以使用 Target 为每个客户端自定义应用程序,这意味着您可以保留一个代码库并拥有多个具有相同代码库的应用程序。
这不会解决在 appstore 部分中更新应用程序的问题,据我所知,您仍然需要手动执行 var 操作。