You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SDK 2.4.0开发1v1视频应用遇PopScope错误,如何解决?

解决tencent_calls_uikit 2.4.0与Flutter 3.10.6的PopScope兼容问题

问题原因

你遇到的错误是版本兼容性问题:PopScope是Flutter 3.12及以上版本才新增的组件,用来替代旧的WillPopScope;而你使用的Flutter 3.10.6版本还没有这个组件,但tencent_calls_uikit 2.4.0已经用上了PopScope,所以编译时会提示该方法未定义。

解决方案

有三种可行的解决方式,按推荐优先级排序:

  1. 升级Flutter版本到3.12+

    • 执行命令:
      flutter upgrade
      

    升级到Flutter稳定版(至少3.12版本),就能原生支持PopScope组件,直接解决兼容性问题。

  2. 降级tencent_calls_uikit到兼容版本

    • 打开项目根目录下的pubspec.yaml,找到tencent_calls_uikit的依赖项,将版本号改为2.3.0(或其他明确兼容Flutter 3.10.x的版本),例如:
      dependencies:
        tencent_calls_uikit: ^2.3.0
      
    • 执行命令更新依赖:
      flutter pub get
      
  3. 临时修改缓存中的SDK代码(不推荐)
    这个方法只是临时修复,后续更新依赖会失效,仅作为应急方案:

    • 找到报错的文件路径:../../../../.pub-cache/hosted/pub.flutter-io.cn/tencent_calls_uikit-2.4.0/lib/src/ui/tuicall_kit_widget.dart
    • 将文件中的PopScope替换为WillPopScope,同时调整参数:
      原代码类似:
      return PopScope(
        canPop: false,
        child: ...
      );
      
      修改为:
      return WillPopScope(
        onWillPop: () async => false,
        child: ...
      );
      
    • 重新编译项目即可。

内容的提问来源于stack exchange,提问作者user26525179

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:12:16