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 側では、すべてのターゲットに応じて多くの構成値があります。

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 側で任意のタイプの構成値を取得できます。

于 2018-10-15T15:16:38.417 に答える