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

Flutter iOS模拟器运行报错:TapDownDetails与TapDragDownDetails类型不兼容

Flutter iOS模拟器编译错误:TapDownDetails与TapDragDownDetails类型不兼容

错误(Xcode):

../../../../.pub-cache/hosted/pub.dev/flutter_math_fork-0.5.0/lib/src/widgets/selection/gesture_detector_builder.dart:186:20: Error: The argument type 'void Function(TapDownDetails)' can't be assigned to the parameter type 'void Function(TapDragDownDetails)?'.

无法为模拟器构建应用,无法在iPhone 13 Pro Max上启动应用。

当前依赖

cupertino_icons: ^1.0.2
flutter_redux: ^0.10.0
dio: ^4.0.3
redux_thunk: ^0.4.0
url_launcher: ^6.1.5
modal_bottom_sheet: ^2.0.0
dropdown_search: ^5.0.5
flutter_html: ^2.1.5
linkable: ^3.0.1
lottie: ^2.2.0
flutter_rating_bar: ^4.0.0
shared_preferences: ^2.0.7
device_info_plus: ^8.0.0
percent_indicator: ^4.2.2
animated_widgets: ^1.1.0
skeletons: ^0.0.3
google_mobile_ads:
firebase_core:
firebase_analytics: ^10.1.0
webview_flutter_plus:
gsheets: ^0.4.2
get_it: ^7.2.0
woocommerce_api: ^0.1.0
skeleton_loader: ^2.0.0+4

已尝试操作

  • flutter clean
  • flutter upgrade
  • 删除Xcode派生数据
  • 修改第三方包参数类型(需同步修改Flutter SDK代码,未解决)

解决方案

这个错误源于flutter_math_fork:0.5.0版本与当前Flutter稳定版的手势API不兼容——Flutter后续版本将TapDownDetails拆分出TapDragDownDetails类型,旧版flutter_math_fork未适配该变更。可通过以下方式解决:

  1. 升级flutter_html到兼容版本
    你的flutter_html:^2.1.5依赖旧版flutter_math_fork,将其升级到^3.0.0及以上版本(该版本已适配最新Flutter手势API,且依赖的flutter_math_fork版本同步更新)。修改pubspec.yaml后执行flutter pub get。

  2. 强制指定兼容的flutter_math_fork版本
    若不想升级flutter_html,可在pubspec.yaml中添加依赖覆盖,强制使用修复了类型问题的版本:

dependency_overrides:
  flutter_math_fork: ^0.6.0

添加后执行flutter pub get,再重新编译项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:40:55