问题描述
我的应用程序以前运行正常,没有构建或运行时错误。然后,我将react-native-agora
从^ 2.9.1更新为^ 3.0.1-rc.4。
发生了崩溃问题,该问题已由
-
pod install
-
react-native start --reset-cache
我现在的问题是,应用程序停留在初始屏幕上,并在iOS RN v0.61.5上出现此错误:
Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)
到目前为止,我已经尝试过:
- 添加
index.ios.js
文件并添加入口点代码 - 删除并重新安装node_modules
-
npm cache clean
- 使用Xcode清理和重建项目
- 重新启动计算机
-
killall -9 node
-
react-native start --reset-cache
- 在模拟器中删除应用并重新构建/运行
- 已删除的pod文件夹和
pod install
- 注释掉所有react-native-agora代码
我没有 :
- 在此agora程序包上运行任何形式的
react-native link
。我正在使用v0.61.5
也:
- 因为react-navigation在.61.5中是自动链接的,所以我相信Xcode中应该有某种开发容器。我没看它什么时候工作,所以没有什么可比的。但我在开发人员窗格中看不到react-navigation,但我看到了其对等依赖项
我的package.json:
"dependencies": {
"@react-native-community/cli": "^4.3.0","@react-native-community/clipboard": "^1.2.2","axios": "^0.19.2","moment": "^2.24.0","moment-timezone": "^0.5.27","prop-types": "^15.7.2","react": "16.9.0","react-native": "^0.61.5","react-native-agora": "^3.0.1-rc.4","react-native-algolia-dropdown": "^1.6.0","react-native-calendars": "^1.220.0","react-native-chart-kit": "^4.3.0","react-native-code-push": "^6.0.0","react-native-extended-stylesheet": "^0.12.0","react-native-firebase": "^5.6.0","react-native-gesture-handler": "^1.5.2","react-native-image-crop-picker": "^0.26.1","react-native-material-dropdown": "^0.11.1","react-native-reanimated": "^1.4.0","react-native-responsive-screen": "^1.4.1","react-native-safe-area-context": "^0.6.2","react-native-screens": "^1.0.0-alpha.23","react-native-snap-carousel": "^3.8.4","react-native-splash-screen": "^3.2.0","react-native-svg": "^9.13.6","react-native-view-shot": "^3.1.2","react-native-webview": "^9.4.0","react-navigation": "^4.0.10","react-navigation-drawer": "^2.3.3","react-navigation-stack": "^1.10.3","react-redux": "^7.1.3","redux": "^4.0.4","redux-persist": "^6.0.0","redux-thunk": "^2.3.0","rn-fetch-blob": "^0.11.2"
},
index.js和index.android.js相同:
import { AppRegistry } from 'react-native';
import App from './App';
import 'react-native-gesture-handler';
import { name as Project } from './app.json';
AppRegistry.registerComponent(Project,() => App);
编辑(调试器输出):
- 很多
Require cycles are allowed,but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
都是从各种来源输出的,从我的组件到Firebase,再到其他npm软件包 - 关于仍然尝试使用
react-native-agora
软件包的很多抱怨
如何解决此问题?
解决方法
React Native Agora v3.x与v2.x不向后兼容。请考虑阅读API参考,示例应用程序,然后迁移到新的API。
v3准系统快速入门(自述文件尚未更新):https://github.com/technophilic/Agora-RN-Quickstart/tree/sdk-v3
API参考:https://agoraio-community.github.io/react-native-agora/globals.html
,在这种情况下,在最初尝试出于调试目的删除所有存在的软件包之后,仍然存在一些新近更新的软件包。通过从react-native-agora
完全删除所有代码,Ive现在可以正常运行该应用程序。他们的所有文档和示例项目都没有针对新版本进行更新的问题。
根据此仓库对我的聊天室组件进行建模:https://github.com/AgoraIO-Community/Agora-RN-Quickstart/blob/master/App.tsx最终使react-native-agora
为我工作。