我有一些核心功能的基本应用。
我的客户(可能有很多人)都希望在应用商店中拥有自己定制的应用。
如果我有几十个在App Store的应用程序,我想改变一些核心功能,我将不得不更新相应的项目中的每个文件,编译,请通过iTunes的问题连接,上传等。每一个小小的变化都可能需要几天的无心工作。
问题
有没有一种方法,我可以使用一个版本控制系统如Git单独管理的我与核心功能的代码部分,使所有项目都会自动更新,当我提交修改核心文件?
有没有其他方法可以使这个过程更容易管理?
我有一些核心功能的基本应用。
我的客户(可能有很多人)都希望在应用商店中拥有自己定制的应用。
如果我有几十个在App Store的应用程序,我想改变一些核心功能,我将不得不更新相应的项目中的每个文件,编译,请通过iTunes的问题连接,上传等。每一个小小的变化都可能需要几天的无心工作。
问题
有没有一种方法,我可以使用一个版本控制系统如Git单独管理的我与核心功能的代码部分,使所有项目都会自动更新,当我提交修改核心文件?
有没有其他方法可以使这个过程更容易管理?
我对Xcode的“目标”结构并不熟悉,所以实际上可能是更好的方法。但你绝对可以使用这个git。
也许你想要一个“主”分支,所有的通用的东西生活,然后为应用程序的每个“定制”版的一个分支。
当主服务器发生更改时,您将通过每个自定义分支合并这些更改。然后从每个分公司,您将建立一个产品提交给商店。
在每个分支,你会单独设置的应用程序ID,无论是从一个版本需要在未来,无论按键设置是适当的这个版本,等艺术和文字修改所有这些设置都可以留在本地的定制版本分支。
这是git中完美有效的工作流程。这不是大多数人使用它的原因,但那是因为大多数人都会选择一种产品,而不是很多。
您可以使用目标来定义每个客户端的应用程序,这将意味着你可以保持一个代码库,并具有相同的代码库多个应用程序。
这不会解决在AppStore的一部分,你仍必须用手工做的VAR我所知的更新程序。
另一种选择可能会使用git submodules来组织公共代码,然后将各个单独的项目只需添加您共同的代码作为子模块。
通常,如果您有需要的iOS重用你要么建立一个静态库,你可以在您的其他项目或一些核心功能(如核心功能包括像资产的东西不能被列入在一个静态库中),你将有一个子项目。不过,在这两种情况下,您都需要确保每个应用项目都与您的核心功能项目存在目标依赖关系,以便始终使用最新更改进行重建。
git sumodule update
并重新编译。
仅供参考,您所谈论的内容称为白色标签:将应用程序的核心功能重新定义/为客户定制。 – memmons