将react-native-config与fastlane一起使用

时间:2018-10-04 15:01:17

标签: react-native fastlane react-native-config

当前,在我的本机应用程序中,我使用fastlane配置两个通道:betaproduction。我将react-native-config用于不同的环境配置(存储在2个文件中:.env.beta.env.production)。如何让fastlane知道每个通道应使用哪个环境文件?

2 个答案:

答案 0 :(得分:1)

如果在调用命令以构建应用程序之前询问如何设置环境变量,则可以在Fastfile中进行。在您的Fastfile中,在调用fastlane操作以构建应用程序之前,将ENV['ENVFILE']变量设置为指向您的.env.X文件。参见react-native-config docs on environments

lane :build_beta do
   ENV['ENVFILE'] = '.env.beta'
   build_ios_app(...) # you may be using `gym` instead.
end
lane :build_production do
   ENV['ENVFILE'] = '.env.production'
   build_ios_app(...) # you may be using `gym` instead.
end

更好的是,如果通道完全相同,则可能需要使用命令行中的config选项调用它:

# call me from the command line like: `fastlane build_sonlexqts_app config:beta`
lane :build_sonlexqts_app |options|
   config = options[:config]
   unless %w(beta production).include?(config)
     UI.user_error!("#{config} is invalid. Please pass either 'beta' or 'production'")
   end
   ENV['ENVFILE'] = ".env.#{config}"
   build_ios_app(...) # you may be using `gym` instead.
end

答案 1 :(得分:0)

我使用react-native-config通过fastlane提供的环境变量功能,设法使fastlane [lane] --env [beta|production]来选择正确的配置文件。