【问题标题】:Use .env variables to set up appcenter on a react-native app使用 .env 变量在 react-native 应用程序上设置 appcenter
【发布时间】:2020-01-06 22:47:16
【问题描述】:

我开始在我的裸 react-native 应用程序中使用 MS appcenter,在设置过程中他们要求我向项目添加两个新文件:

  1. 对于 IOS:带有
  2. 的 AppCenter-Config.plist
    <dict>
    <key>AppSecret</key>
    <string><MY_SECRET_KEY></string>
    </dict>
  1. 对于 Android,我需要添加一个带有密钥的 JSON 文件:
 {
    "app_secret": "<MY_SECRET_KEY>"
 }

我已经在我的应用中使用了一个包来处理 .env 文件:https://github.com/luggit/react-native-config

有没有办法使用这个包或另一个包,以便从 ENV 变量中获取 appcenter 配置文件的 APP_SECRET

我只是不想将这些密钥置于版本控制之下。

【问题讨论】:

  • 这是你想做的吗github.com/luggit/react-native-config#native-usage 配置变量可以通过BuildConfig在java类中获得
  • 但是Android的配置文件是JSON文件,不是Java类。 IOS也是一样,文件是.plist。如何在那里应用 ENV 变量?
  • @Victor 你找到解决办法了吗?
  • @JacekRojek 是的,我刚刚发布了一个答案,希望对你有所帮助

标签: react-native environment-variables visual-studio-app-center react-native-config


【解决方案1】:

Appcenter 允许我们使用构建脚本,您可以在此处查看更多详细信息: https://docs.microsoft.com/en-us/appcenter/build/custom/scripts

我发现解决此问题的解决方法是使用克隆后脚本。您需要在应用程序的根文件夹中创建一个 bash 脚本,该脚本将使用环境变量写入 .env 文件。

首先,创建一个名为 appcenter-post-clone.sh 的新文件。

然后你可以用这样的方式编写你的 .env 文件:

#!/usr/bin/env bash

echo "Creating .env file"
cat > ./.env <<EOL
API_URL=${API_URL}
API_KEY=${API_KEY}
EOL

【讨论】:

  • 我们在项目中使用了类似的solution。但这对我来说似乎也很好。 imo值得更多的支持。
  • 每次运行 bash 文件时,您不是在 .env 文件中一遍又一遍地附加相同的行吗?
  • 适用于 Android - 不适用于 IOS --> 我已经打开了 App Center 支持的票
【解决方案2】:

找到this - 应用秘密(名称有点混乱)仅用于检查应用内更新 - 似乎您无法使用它触发发布。
所以我认为没有必要将秘密移动到 .env 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-28
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多