我在我的 iPhone 上运行了一个 React Native 应用程序,我想在安装特定配置文件时更改应用程序配置(针对另一个环境)。
如何从 React Native 应用程序读取/访问 iOS 配置文件?
我在我的 iPhone 上运行了一个 React Native 应用程序,我想在安装特定配置文件时更改应用程序配置(针对另一个环境)。
如何从 React Native 应用程序读取/访问 iOS 配置文件?
您可以制作简单的自定义模块以从 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 方面,根据每个目标,你有许多配置值。
配置/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 端获取任何类型的配置值。