我有一个运行在iPhone上的React Native应用程序,并且当安装了特定的配置文件时,我想更改应用程序配置(针对另一个环境)。
如何从React Native应用程序中读取/访问iOS配置文件?
答案 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端获取任何类型的配置值。