Получить доступ к профилю конфигурации iOS из React Native? - PullRequest
0 голосов
/ 15 октября 2018

На моем iPhone запущено приложение React Native, и я хотел бы изменить конфигурацию приложения (для другой среды), когда установлен определенный профиль конфигурации.

Как я могу читать / получать доступ к конфигурации iOSпрофиль из приложения React Native?

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете сделать простой пользовательский модуль, чтобы получить это значение с родной стороны 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 тогда вы можете использовать конкретный параметр конфигурации на стороне React Native, получив имя платформы iOS, как указано выше.

В любом случае, вы можете получить любые типызначения конфигурации на стороне iOS путем изменения файла RNConfig.m .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...