0

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

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

4

1 回答 1

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 方面,根据每个目标,你有许多配置值。

配置/index.js

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

const variables = {
  targetA,
  targetB
};

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

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

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

于 2018-10-15T15:16:38.417 回答