Получить доступ к профилю конфигурации iOS из React Native?
На моем iPhone запущено приложение React Native, и я хотел бы изменить конфигурацию приложения (для другой среды), когда установлен определенный профиль конфигурации.
Как я могу прочитать / получить доступ к профилю конфигурации iOS из приложения React Native?
1 ответ
Вы можете сделать простой пользовательский модуль, чтобы получить это значение с родной стороны 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.