IOS App多环境配置(适用于是否有cocoapods管理和flutter混合多环境配置)


浏览:831 次

2020年6月30日更新:新的AppIcon多环境配置,见底部

在日常开发中,我们经常会遇到多种环境配置,如调试、测试、产品、预发布、发布等。每个环境对应一组主机、密钥、令牌等,这确实是可以实现的。如果数量少,则很容易管理,太多则是噩梦,即使您需要在测试或调试期间轻松切换到任何环境,这种方法似乎也无能为力。手动改变环境还有其他隐患。例如,如果忘记更改环境,通常会键入错误的环境包。在严重的情况下,即使在网上发布错误的软件包也会导致非常严重的错误。因此,app的多环境配置是非常必要的。它可以隔离每个环境的配置,并提供更方便和灵活的配置。

在本文的最后,还解决了颤振包装中遇到的问题

少说话,直接跟着我(参考DEMO,效果更好)

创建新的项目AppConfiguration,例如新的测试配置,如步骤1和2所示

选择重复的“调试”配置/重复的“发布”配置之一,我们将在此处复制调试配置

创建发布。xcconfig,调试。xcconfig和Test依次有三个配置文件,分别对应于前一步配置中的Release、Debug和Test。事实上,这些文件将在编辑方案中使用,稍后将对此进行讨论

创建完成后,返回步骤2中的窗口,并按以下顺序选择刚刚创建的配置文件(请注意,必须先创建它,然后才能选择它)

配置预编译宏相当于在pch文件中定义宏。您可以区分项目中的不同环境,然后进行操作。

输入项目的构建设置->预处理器宏:

您会发现在“调试”和“测试”列中有一个Debug=1,但在“发布”列中没有。是的,这是我们项目中常用的#ifdefDEBUG,这里的配置生效

然后编辑方案->运行->选择测试并保存

编译OK!

到目前为止,配置几乎完成了!

不,为什么不知道多环境配置在哪里?

是的,尚未配置。关键是睁开眼睛

我们在上面的配置文件BUILD_MODE、APP_DISPLAY_NAME、APP_config_FLAG中创建了三个变量FLUTTER,保存

然后转到AppConfiguration->TARGETS->Build Setting,滑动到底部,您会发现添加了这三个User Defined变量

然后转到AppConfiguration->TARGETS->Build Setting Search Preprocessor Macros:

按顺序填写FLUTTER _ BUILD_MODE和APP_ CONFIG_与FLAG对应的值

这一步的配置非常重要!!!

您还可以在Project AppConfiguration Processor宏和Targets AppConfiguration Proc处理器宏中配置FLUTTER,方法如下:BUILD_MODE和APP_CONFIG_FLAG:

flatter_BUILD_MODE=$(flatter_构建模式)

APP_配置_标志=$(APP_CONFIG_FLAG)

剩下的是测试。直接在AppDelegate中打印日志验证

运行模拟器

然后根据环境动态显示App名称。在plist中,将Bundle显示名称列替换为我们的APP_display_name,完美操作!

到目前为止,app多环境的配置基本上是一段话!但这还没有结束。既然我们已经完成了,让我们走到最后

下面描述了使用cocoapods集成的项目配置。

CD到项目的根目录,pod init生成一个Podfile文件,然后编辑它(我把use_frameworks!放在这里了,所以我不需要它),

然后安装吊舱

最后,我发现了一堆警告

先忘了吧。编译项目。这很糟糕。报告错误!

让我们尝试处理警告!在配置文件中,包括并导入以下pods-….Xcconfig。如果文件太长而无法命中,只需抓取文件并拖动它即可删除冗余路径

在pod安装中尝试一下,警告消失了

重新清理项目并编译->ok完美的

不要惊慌,而且

我们没有在上面定义FLUTTER _ BUILD_MODE,你会好奇如何定义它。现在让我们谈谈Flutter混合开发中遇到的另一个问题。

让我们直奔终点!

首先,让我们谈谈运行工具环境:

X代码:11.3(11C29)

VS代码:1.46.1

抖动:1.12.13+修补程序。8

吊舱:1.8.4

我们不需要引入git子模块,而是直接创建根目录(ref

相关资讯:
办公自动化OA系统,实现企业办公自动化!

办公自动化OA系统,实现企业办公自动化!

查看
租赁模式下的Saas云oa不会成为企业oa系统的主流

租赁模式下的Saas云oa不会成为企业oa系统的主流

查看
Oa办公自动化系统,实现管理系统,工作流自动化!

Oa办公自动化系统,实现管理系统,工作流自动化!

查看
OA办公软件的选择不是简单的功能选择

OA办公软件的选择不是简单的功能选择

查看
OA软件平台是企业OA软件深入应用的基础

OA软件平台是企业OA软件深入应用的基础

查看