反应本机博览会弹出后的问题:“RCTAsyncLocalStorage”没有可见的@interface声明选择器“initWithStorageDirectory:”

Posted

技术标签:

【中文标题】反应本机博览会弹出后的问题:“RCTAsyncLocalStorage”没有可见的@interface声明选择器“initWithStorageDirectory:”【英文标题】:Issue after react native expo eject: No visible @interface for 'RCTAsyncLocalStorage' declares the selector 'initWithStorageDirectory:' 【发布时间】:2018-01-06 21:47:39 【问题描述】:

我刚刚退出世博会,一切顺利,但现在尝试在 Xcode 中运行我的 ios 应用程序时出现以下错误:

“RCTAsyncLocalStorage”没有可见的@interface 声明选择器 'initWithStorageDirectory:'

这是我的 package.json 的一部分

"dependencies": 
"axios": "^0.17.1",
"expo": "^23.0.6",
"lodash": "^4.17.4",
"moment": "^2.20.1",
"react": "16.0.0",
"react-native": "0.50.3",
"react-native-cloudinary": "^1.0.1",
"react-native-communications": "^2.2.1",
"react-native-elements": "^0.18.5",
"react-native-fetch-blob": "^0.10.8",
"react-native-gifted-chat": "^0.3.0",
"react-native-image-picker": "^0.26.7",
"react-native-image-to-base64": "^0.1.0",
"react-native-modal-datetime-picker": "^4.13.0",
"react-native-router-flux": "^4.0.0-beta.24",
"react-navigation": "^1.0.0-beta.22",
"redux-thunk": "^2.2.0"

【问题讨论】:

你使用的是什么版本的 react native?这是在几个月前修复的。您之前使用过 expo 吗? @Chanoch 大约一个月前,我使用最新版本的 expo 创建了我的应用程序。我会将所有版本添加到线程中。 我可以检查你是否链接到 react native 的 expo fork 吗? @Chanoch 我在哪里可以查看? 【参考方案1】:

我确实设法修复了它,方法是这样的:

我将我的“react-native”依赖项更新为最新的可用依赖项: "https://github.com/expo/react-native/archive/sdk-23.0.0.tar.gz"

我删除了我在之前的 expo 应用程序中错误安装的所有依赖项,这些依赖项实际上需要使用 npm uninstall --save 命令进行 react-native 链接: react-native-image-to-base64, react-native-cloudinary

然后我还必须从 General > Linked Frameworks and Libraries 中删除它们 现在它起作用了!我现在在使用 Facebook 登录时遇到问题,但至少它不会让我的应用崩溃。

祝你好运。

【讨论】:

【参考方案2】:

没有早点意识到这一点我觉得很愚蠢,但是当我在使用不同的 Expo 版本切换分支后忘记运行 yarn 时遇到了这个问题。

希望可以为其他人节省一些调试。

【讨论】:

以上是关于反应本机博览会弹出后的问题:“RCTAsyncLocalStorage”没有可见的@interface声明选择器“initWithStorageDirectory:”的主要内容,如果未能解决你的问题,请参考以下文章

React Native - 在博览会弹出后安装博览会

触摸在本机反应中无法在博览会网络中工作

如何在反应本机博览会应用程序(android)中授予相机权限

在博览会上发布反应本机应用程序时出现意外代码 404

弹出后的离子刷新列表

用于调试样式的博览会(反应本机应用程序)的 UI 检查器工具