con*_*909 5 environment xcode android-studio react-native devops
我真的对 react-native 中的生产/开发版本感到困惑。通过在终端中使用包脚本,我可以让我的应用程序在 iOS 和 Android 上运行
ENVFILE='/path/to/.env' react-native run-ios
ENVFILE='/path/to/.env' react-native run-android
Run Code Online (Sandbox Code Playgroud)
这非常适合在本地运行我的应用程序,但是在通过 xcode 创建存档时如何运行此命令?
我成功安装了 react-native-config 并且我在 JS 和本机文件中有我需要的变量,这只是使用它的最后一步是为设备进行生产或暂存构建。
我已经设法创建了构建和部署我的应用程序的 fastlane 脚本(并且我可以在 fastlane 脚本中引用我的 .env 变量),但这仍然没有将我的应用程序与里面的 .env 变量捆绑在一起。它可能是显而易见的,但我根本不理解这个概念。
我一直在这里参考本教程,并注意到有关在 xcode 中为每个 Scheme 添加预脚本的部分:
".env" > /tmp/envfile
Run Code Online (Sandbox Code Playgroud)
但我不知道该脚本的当前工作目录是什么,我使用纱线工作区,所以我的 node_modules 文件夹不在 RN 项目的根目录下(这不重要吗?)。我已经尝试了从这里到我的 .env 的多个路径,但没有任何效果,但我也不知道如何测试这个脚本。
我已经使用 Fastlane 成功使其工作。我按照本指南进行快速通道设置:
按照指南进行操作后,我将 Fastlane 目录移动到项目的根目录(并更新了所有路径)。
然后在运行命令时添加 ENV 变量,例如:ENVFILE=.env.beta fastlane ios,很容易将其作为脚本添加到 package.json 中。
还可以在 Fastlane 中使用 dotenv 功能,请参阅https://github.com/fastlane/fastlane/issues/13494#issuecomment-428941643。
最重要的是,Fastlane 在运行打包器时将使用环境变量,这意味着 react-native-config 将成功选择它并使用正确的环境文件。
| 归档时间: |
|
| 查看次数: |
2046 次 |
| 最近记录: |