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