我已经按照本指南实现了适用于 React Native 的 Zoom Video SDK。当我运行我的应用程序时,出现以下错误:
Uncaught TypeError: Cannot read properties of undefined (reading 'isChatDisabled')
at new ZoomVideoSdkChatHelper (ZoomVideoSdkChatHelper.js:15:70)
at eval (Context.js:57:15)
at ./node_modules/@zoom/react-native-videosdk/lib/module/Context.js (rnw.bundle.js?94e5161b801ffe220198:12094:1)
at __webpack_require__
...
所以,当我导入任何东西时,它就会发生在导入时
from "@zoom/react-native-videosdk";
最初我以为我按照指南做错了什么。所以我决定从头开始并下载他们的示例存储库。所以我在终端(在不同的目录中)运行以下命令:
git clone https://github.com/zoom/VideoSDK-ReactNative-Quickstart
cd VideoSDK-ReactNative-Quickstart
yarn
yarn start
它向我展示了带有世博二维码的地铁,我用 iPhone 扫描了它,启动了应用程序...并得到了与上面完全相同的错误:
然后我让我的朋友在他的 MacBook 上试试,以确保它不适合我的环境。他得到了完全相同的结果(同样的错误)。
我在互联网上搜索,但在其他地方找不到这个问题。它可能是什么?
环境:MacBook Pro、芯片 Apple M1 Pro、macOS Sonoma 14.4.1、node v21.7.1(也在 v20 上尝试过)、XCode 15.3
我也碰巧在 zoom/VideoSDK-ReactNative-Quickstart 的 github 上发布了同样的问题。
我没有解决方案,只是分享我到目前为止所得到的。
我当前的解决方法:使用 XCode 构建 iOS 模拟器 (Rosetta)
环境:MacBook Pro,芯片 Apple M1 Max,macOS Sonoma 14.0,node v20.6.1,XCode 15.3
ios
文件夹的 xcworkspace:open ios/<your_app_name>.xcworkspace
在项目中,从项目根目录(不是
npm start
文件夹)运行 ios
以确保 Metro 正在运行。
替代方案:没有博览会
如果您不介意不使用
expo
,则可以使用 React Native Zoom SDK 的 example
,它仅通过 react-native
CLI 运行。它在我的 Android 和 iOS 模拟器上都运行得很好