包更新后,React Native 应用卡在启动画面上
React Native app stuck on splash screen after a package update
我的应用程序之前运行良好,没有生成或 运行时间错误。然后我将 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
- 正在模拟器中删除应用程序并且re-building/running
- 删除了 pods 文件夹和
pod install
- 注释掉所有 react-native-agora 代码
我有没有:
- 运行 此 agora 包中任何形式的
react-native link
。我在 v0.61.5
还有:
- 因为 react-navigation 在 .61.5 中是自动链接的,我相信 Xcode 中应该有某种开发 pod。我没看过它什么时候工作,所以没有什么可比较的。但我没有在开发中看到 react-navigation pods,但我看到它的对等依赖项
我的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 参考、示例应用程序,然后迁移到新的 APIs。
v3 Barebones Quickstart(自述文件尚未更新):https://github.com/technophilic/Agora-RN-Quickstart/tree/sdk-v3
API参考:https://agoraio-community.github.io/react-native-agora/globals.html
在这种情况下,在最初尝试删除所有存在的新包以进行调试后,仍然有一些新更新包的残余。通过完全删除 react-native-agora
中的所有代码,我现在正确地获得了应用程序 运行。他们的所有文档和示例项目都没有针对新版本进行更新,存在问题。
根据此 repo 为我的聊天室组件建模:https://github.com/AgoraIO-Community/Agora-RN-Quickstart/blob/master/App.tsx 最终让 react-native-agora
为我工作。
我的应用程序之前运行良好,没有生成或 运行时间错误。然后我将 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
- 正在模拟器中删除应用程序并且re-building/running
- 删除了 pods 文件夹和
pod install
- 注释掉所有 react-native-agora 代码
我有没有:
- 运行 此 agora 包中任何形式的
react-native link
。我在 v0.61.5
还有:
- 因为 react-navigation 在 .61.5 中是自动链接的,我相信 Xcode 中应该有某种开发 pod。我没看过它什么时候工作,所以没有什么可比较的。但我没有在开发中看到 react-navigation pods,但我看到它的对等依赖项
我的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 参考、示例应用程序,然后迁移到新的 APIs。
v3 Barebones Quickstart(自述文件尚未更新):https://github.com/technophilic/Agora-RN-Quickstart/tree/sdk-v3
API参考:https://agoraio-community.github.io/react-native-agora/globals.html
在这种情况下,在最初尝试删除所有存在的新包以进行调试后,仍然有一些新更新包的残余。通过完全删除 react-native-agora
中的所有代码,我现在正确地获得了应用程序 运行。他们的所有文档和示例项目都没有针对新版本进行更新,存在问题。
根据此 repo 为我的聊天室组件建模:https://github.com/AgoraIO-Community/Agora-RN-Quickstart/blob/master/App.tsx 最终让 react-native-agora
为我工作。