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

Flutter更新后GoRouterState无queryParameters属性报错求助

问题:Flutter更新后GoRouterState缺少queryParameters方法导致Xcode构建失败

之前使用Xcode测试应用一切正常,更新Flutter后出现报错,尝试论坛上所有解决方案仍未解决,无法为iPhone 15 Pro Max模拟器构建并启动应用。

报错信息

Error (Xcode): lib/flutter_flow/nav/nav.dart:383:14: Error: The getter 'queryParameters' isn't defined for the class 'GoRouterState'.

报错代码片段

extension _GoRouterStateExtensions on GoRouterState {
  Map<String, dynamic> get extraMap =>
      extra != null ? extra as Map<String, dynamic> : {};
  Map<String, dynamic> get allParams => <String, dynamic>{}
    ..addAll(pathParameters)
    ..addAll(queryParameters)
    ..addAll(extraMap);
  TransitionInfo get transitionInfo => extraMap.containsKey(kTransitionInfoKey)
      ? extraMap[kTransitionInfoKey] as TransitionInfo
      : TransitionInfo.appDefault();
}

class FFParameters {
  FFParameters(this.state, [this.asyncParams = const {}]);

  final GoRouterState state;
  final Map<String, Future<dynamic> Function(String)> asyncParams;

  Map<String, dynamic> futureParamValues = {};

flutter pub get 执行结果

Resolving dependencies... (1.4s)
  _fe_analyzer_shared 61.0.0 (65.0.0 available)
  analyzer 5.13.0 (6.3.0 available)
  flutter_facebook_auth_platform_interface 3.2.0 (5.0.0 available)
  flutter_facebook_auth_web 3.2.0 (5.0.0 available)
  google_api_headers 1.6.0 (3.1.0 available)
  google_fonts 4.0.4 (6.1.0 available)
  http 0.13.6 (1.1.1 available)
  material_color_utilities 0.5.0 (0.8.0 available)
  meta 1.10.0 (1.11.0 available)
  package_info_plus 4.2.0 (5.0.1 available)
  pigeon 11.0.1 (14.0.0 available)
  shared_preferences_ios 2.1.1 (discontinued replaced by shared_preferences_foundation)
  uuid 3.0.7 (4.2.1 available)
  web 0.3.0 (0.4.0 available)
Got dependencies!
1 package is discontinued.
13 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

flutter pub outdated 执行结果

Showing outdated packages.
indicates versions that are not the latest available.

Package Name       Current  Upgradable  Resolvable  Latest  

direct dependencies:
google_fonts       *4.0.4   *4.0.4      *4.0.4      6.1.0   
package_info_plus  *4.2.0   *4.2.0      *4.2.0      5.0.1   

dev_dependencies: all up-to-date.
You are already using the newest resolvable versions listed in the 'Resolvable' column.
Newer versions, listed in 'Latest', may not be mutually compatible.
排查修复步骤
  • 确认GoRouter版本兼容性:报错源于GoRouter的API变更,GoRouterState的queryParameters方法在新版本中被移除,需检查项目中go_router的版本是否适配当前Flutter SDK。可在pubspec.yaml中锁定或升级go_router到兼容版本。
  • 替换API调用:若无法升级go_router,可将代码中的queryParameters替换为uri.queryParameters(GoRouterState自带uri属性,可通过它获取查询参数),修改后的代码如下:
    Map<String, dynamic> get allParams => <String, dynamic>{}
      ..addAll(pathParameters)
      ..addAll(uri.queryParameters)
      ..addAll(extraMap);
    
  • 清理缓存并重建:执行以下命令清除缓存,避免旧依赖残留影响构建:
    flutter clean
    flutter pub get
    cd ios && pod install && cd ..
    flutter run
    
  • 替换废弃依赖:shared_preferences_ios已被废弃,需在pubspec.yaml中替换为shared_preferences_foundation:
    shared_preferences_foundation: ^2.3.4
    
    同时移除shared_preferences_ios的依赖声明。
  • 逐步升级兼容依赖:对于无法直接升级的依赖(如google_fonts、package_info_plus),可尝试逐个升级,每次升级后执行flutter pub get并测试,避免版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:53:22