在React Native中为每个方案设置babel ios捆绑包构建的环境变量

时间:2019-12-03 09:36:44

标签: xcode react-native

我想为每个方案设置一个特定的环境变量,以便在babel.config.js中可用,以便可以打开或关闭某个插件。我该如何实现?我已经尝试在PBXShellScriptBuildPhase阶段内设置变量,但是它适用于所有方案。

1 个答案:

答案 0 :(得分:0)

您可以在user defined标签中为每种方案创建Build Settings设置,然后将其作为密钥包含在Info.plist文件中。然后创建头文件和实现文件以导出此变量以响应本机端。像这样

// RNConfig.h

#import <React/RCTBridgeModule.h>

@interface RNConfig : NSObject <RCTBridgeModule>
@end

// RNConfig.m


#import "RNConfig.h"

@implementation RNConfig

RCT_EXPORT_MODULE();

- (NSDictionary *)constantsToExport
{
  NSString* custom_val = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"YOUR_CUSTOM_VALUE"];

  return @{@"custom": buildEnvironment };
}

@end

然后,您可以将本机模块中的配置导入为

const { RNConfig } = NativeModules;

并使用babel配置文件中的变量