我尝试使用React Native Config


假设

React Native Config可以用于Android和iOS,但是它具有这样的内容,因为它仅用于iOS。

什么是React Native Config?

https://www.npmjs.com/package/react-native-config
从历史上看,第一版似乎是在3年前发布的。
当您要为每个环境(例如开发和发布)切换配置文件的内容时,可以使用它。
本文的内容是用图像说明日语中上述链接的内容。

如何使用

初始设置

首先,纱线和链接(?)
自然在目标项目的根下。

1
2
$ yarn add react-native-config
$ react-native link react-native-config

接下来,由于必须在xcode上进行各种设置,因此从Project Navigator打开项目并打开以下内容。
スクリーンショット 2019-06-29 17.51.09.png
*请注意,这就是全部。

接下来,将下面图像的红色框部分设置为是。快速进行搜索。
スクリーンショット 2019-06-29 17.54.10.png

然后将其上方的Info.plist Preprocessor Prefix File设置为${BUILD_DIR}/GeneratedInfoPlistDotEnv.h
${BUILD_DIR}/GeneratedInfoPlistDotEnv.h仍被写入,但对其进行了补充,以使其在构建后成为目录的根目录。 (因为构建后目录的根目录因环境而异。)
スクリーンショット 2019-06-29 17.56.02.png

Info.plist Other Preprocessor Flags-traditional
スクリーンショット 2019-06-29 17.58.36.png

参考代码

作为参考,我如下使用它。

配置

1
2
3
4
5
6
import ReactNativeConfig from 'react-native-config';
class Config {
    static apiUrl = `${ReactNativeConfig.API_URL}`;
}

export default Config;

\\'。en \\

1
API_URL='http://hogehoge'

\\'。env.release \\'

1
API_URL='http://fugafuga'

Config.ts ${ReactNativeConfig.API_URL}为每个环境提取.env.env.release的URL。
当然,.env是基础,.env.release是从它的扩展名创建的,但是没有固定的字符串,并且可以创建其他设置。

Xcode

上的其余设置

?+shift+< → ManageSchemes...中设置方案。

?+shift+<押下時
スクリーンショット 2019-06-29 18.15.48.png

ManageSchemes...押下時(*部分隐藏。)
スクリーンショット 2019-06-29 18.14.39.png

选择复制并选择基础项目(此图像中的App)。
スクリーンショット 2019-06-29 18.17.29.png

复制之后,为其命名,然后选择"编辑"。 (这里是Release。)

*说明基于使用Profile进行构建的示例。

使用App Scheme的配置文件进行构建时,Pre-actions没什么,因为它是默认设置。
在这种情况下,读取.env的设置值。
スクリーンショット 2019-06-29 18.24.23.png

接下来,修改发布方案设置。
设置为从Pre-actionsNew Run Script Action读取.env.release
スクリーンショット 2019-06-29 18.24.55.png

*尽管这次将其解释为发行版,但是如果您要为开发设置其他配置,请仅对配置执行此复制操作。

实际建造时为

?+?+i,从左上角选择要构建的目标Scheme,然后执行Profile
スクリーンショット 2019-06-29 18.38.41.png

故障排除

请单击此处

印象数

在构建时是否只有鼠标可以切换Scheme?说谎?只是那烦人。 (也许只是找不到)
我认为通过复制可以轻松增加所需的数量。