从 React Native 中访问“用户定义的”xcode 变量

Posted

技术标签:

【中文标题】从 React Native 中访问“用户定义的”xcode 变量【英文标题】:accessing 'User-Defined' xcode variables from within React Native 【发布时间】:2016-06-15 00:49:58 【问题描述】:

我正在使用 xcode 构建一个 react native 项目。我构建了两个目标,一个用于暂存,一个用于生产。我正在 xcode 中管理一些变量,在我的各种构建目标上使用“构建设置”下的“用户定义”部分。

我的问题是......如何在我的 react native 应用程序中从我的 js 中访问这些数据?

【问题讨论】:

【参考方案1】:

在您的 Info.plist 中添加一个新条目,并将 $(YOUR_USER_DEFINED_VALUE) 作为其值。这将在构建期间替换为目标配置值。

在 AppDelegate 中

NSDictionary* info = [[NSBundle mainBundle] infoDictionary];
NSDictionary *initialProps = @@"yourValue" : [info valueForKey:@"NAME_IN_PLIST"];
...
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                    moduleName:@"AppName"
                                             initialProperties:initialProps
                                                 launchOptions:launchOptions];

【讨论】:

我是这样解决的:NSString *variableName = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"KEY_NAME_FROM_PLIST_FILE"];

以上是关于从 React Native 中访问“用户定义的”xcode 变量的主要内容,如果未能解决你的问题,请参考以下文章

从其他原生代码访问 React Native 模块

React Native AsyncStorage:从 Promise 对象访问值

从 iOS 上的 React Native 应用程序访问 NSUserDefaults

Realm React-Native:从 JS(反应本机代码)和 android(java)访问相同的领域

如何从 React Native Android 模块访问 Activity?

可以在 React Native 的 WebView 中访问 Cookies 吗?