从React Native访问iOS配置文件?

时间:2018-10-15 12:06:48

标签: react-native configuration-profile

我有一个运行在iPhone上的React Native应用程序,并且当安装了特定的配置文件时,我想更改应用程序配置(针对另一个环境)。

如何从React Native应用程序中读取/访问iOS配置文件?

1 个答案:

答案 0 :(得分:0)

您可以创建简单的自定义模块,以从iOS本机端获取该值。 这是名为 RNConfig

的自定义模块

RNConfig.h

#import <Foundation/Foundation.h>
#import "React/RCTBridgeModule.h"

@interface RNConfig : NSObject<RCTBridgeModule>

@end

RNConfig.m

#import "RNConfig.h"

@implementation RNConfig

RCT_EXPORT_MODULE();

- (NSDictionary *)constantsToExport
{
  NSString* platform_name = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"PlatformName"];
  return @{ @"PlatformName": platform_name };
}

@end

通过 React Native ,您可以通过遵循以下代码片段来使用该模块。

const { RNConfig } = require('NativeModules');
let platformName = RNConfig.PlatformName;

当您在iOS端具有多个目标时,可以使用此模块。 因此,在React Native端,根据每个目标,您都有许多配置值。

config / index.js

import { targetA } from './targetA';
import { targetB } from './targetB';

const variables = {
  targetA,
  targetB
};

const { RNConfig } = require('NativeModules');
export default variables[RNConfig.PlatformName];

如果您的iOS目标名称是 targetA targetB ,那么您可以通过获取如上所述的iOS平台名称来在React Native端使用特定的配置设置。

无论如何,通过更改 RNConfig.m 文件,您可以在iOS端获取任何类型的配置值。