从 iOS 上的 React Native 应用程序访问 NSUserDefaults
Posted
技术标签:
【中文标题】从 iOS 上的 React Native 应用程序访问 NSUserDefaults【英文标题】:Accessing NSUserDefaults from a React Native application on iOS 【发布时间】:2019-03-13 00:29:00 【问题描述】:我有一个使用 ExpoKit 的 React Native 应用程序。如果需要,我可以弹出。
我想访问 NSUserDefaults 对象以读取已由 AirWatch(移动设备管理系统)推送的值。基本上,该应用程序在托管环境中运行,并且设置通过 NSUserDefaults 传递。
我无法使用 React Native 的 Settings
(https://facebook.github.io/react-native/docs/settings),因为它在尝试访问 this._settings[t]
时给我一个关于内部 _settings
对象未定义的错误。
如何使用这个设置模块,或者我应该怎么做才能访问这个设置对象?
【问题讨论】:
看起来你需要调用 Settings.get(t) 来获取值。 @SachinVas 调用Settings.get("my_key")
是我试图做的,它给了我这个关于_settings
未定义的错误。你能成功使用Settings.get()
吗?
【参考方案1】:
检查你的 pod,你很可能错过了 pod 'React' 的子规范“RCTSettings”,它没有在弹出期间添加......这真的很奇怪。
这就是我的样子:
pod 'React',
:path => "../node_modules/react-native",
:inhibit_warnings => true,
:subspecs => [
"Core",
"ART",
"RCTActionSheet",
"RCTAnimation",
"RCTCameraRoll",
"RCTGeolocation",
"RCTImage",
"RCTNetwork",
"RCTText",
"RCTVibration",
"RCTWebSocket",
"RCTSettings",
"DevSupport",
"CxxBridge"
]
【讨论】:
以上是关于从 iOS 上的 React Native 应用程序访问 NSUserDefaults的主要内容,如果未能解决你的问题,请参考以下文章
iOS 上的共享扩展无法打开我的 react-native 应用
Firebase 从不从 iOS 上的 React Native 连接(模拟器)
一键后iOS上的React Native TextInput隐藏键盘
React-native:iOS 应用程序在具有命名空间 SPRINGBOARD 的设备上的启动屏幕中崩溃