与React Native中的Debug和Release不同的iOS构建配置

默认的iOS构建配置DebugRelease可能一开始就足够了,但是迟早您可能需要扩展应用程序中的构建配置数量。 尽管这在本机开发中非常简单,但是不幸的是,在React Native中却并非如此。

构建配置

要管理构建配置,请转至Xcode项目设置([PROJECT]→Info):

您可以通过复制现有构建配置轻松地添加新的构建配置。 用于开发的重复调试配置以及用于测试飞行和App Store构建的发布配置。 您也可以通过快速双击任何配置来重命名。

调试与发布

调试配置无需任何代码优化即可构建完整的符号调试信息,以方便调试应用程序。 在发行版配置中,代码执行得到优化,并且构建中不包含符号信息,这导致最终可执行文件的尺寸较小。 尽管由于编译器的优化,您可能会期望内存布局或初始化方面的差异,这可能会导致所谓的“仅发行”错误,但发行版本的执行速度会更快。

运行构建配置

上面介绍的步骤足以在本机开发中设置新的构建配置。 要在构建配置打开方案中运行该应用并更改运行构建配置:

React Native中的问题

请记住要检查您的TypeScript代码是否已编译(如果有)以及打包程序是否正在运行。 要使用指定的构建配置在React Native中启动iOS应用,您只需运行:

react-native run-ios --configuration Stage

不幸的是,这对于任何基于发行版的配置都将失败,并显示一条错误消息,指出无法在AppDelegate中找到RCTBundleURLProvider

AppDelegate.m:2:9:找不到“ React / RCTBundleURLProvider.h”文件

我们需要在目标构建设置([TARGET]→构建设置)中为新的Release构建配置添加缺少的标题搜索路径库搜索路径

为每个新的“发布”构建配置在“ 标题搜索路径”中添加一个条目:

$(BUILD_DIR)/Release-$(PLATFORM_NAME)/include

为每个新的发布版本配置向库搜索路径添加一个条目:

$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)

现在,您可以在指定的构建配置中启动该应用程序:

react-native run-ios --configuration Stage

请记住对“测试目标”执行相同的操作,否则此命令将失败。

黑暗中总有一线光明

没有任何以前的经验,在React Native中定义不同于Debug和Release的iOS构建配置可能会令人沮丧。 但是,在一点指导下,这可能是一个快速而轻松的过程。

如果您对如何为每个构建配置设置不同的Google配置感兴趣,建议您阅读本教程。 尽管它是为本机开发而编写的,但是您可以在React Native中完全相同地设置运行脚本

最初发布于 brightinventions.pl

Mateusz Klimczak着,推动事物前进@ Bright发明

电子邮件Twitter Github Stackoverflow