我们有一个iOS应用和一个Android应用,我们为两个独立的客户定制。在为客户端构建时编辑代码太麻烦了。
有没有办法自动执行此操作,以便我们可以继续维护公共代码库并将特定于客户端的代码库放在不同的文件中?自定义非常简单(例如应用程序的名称,后端服务器地址,一些字符串等)
我是网络开发者而不是移动开发者。在Python / Django中,我只是将特定于客户端的常量和变量放在单独的settings.py
文件中,然后选择在部署时使用哪个文件。这使我可以轻松地为不同的客户端维护服务器应用程序。
我想知道我们可以为iOS和Android项目做些类似的事情。
答案 0 :(得分:2)
对于Android来说,这是一个相当直接的方法,它是一个内置功能:构建风格。
您可以为其中一个客户指定其他风味,并保留其他客户的主要风味。
然后在flavor的相应文件夹中添加需要修改的文件的副本。 以下是对口味的详尽描述以及如何根据您的具体要求进行操作: http://blog.robustastudio.com/mobile-development/android/building-multiple-editions-of-android-app-gradle/
Android有关构建版本的文档:https://developer.android.com/studio/build/build-variants.html#product-flavors
答案 1 :(得分:0)
对于iOS,我会使用预处理器命令为不同的客户端调用不同的代码。我还会编写一个脚本(我在swift中写道,在Mac上的终端上运行),它将接受设置并根据你给脚本的参数更改.plist文件和项目文件
答案 2 :(得分:0)
我曾在同一环境中工作并遇到同样的问题。按照以下程序,它应该像一个魅力: 步骤1 。创建一个包并将其声明为库。 第2步。 。创建一个模块并在依赖项中声明上面的库。 步骤3.创建另一个模块并将库声明为依赖项。
现在您的库代码是两个模块的基本代码。无论您要执行的客户端特定更改都可以在模块中执行。