Flutter运行iPhone 15 Pro遇Swift编译错误:方法未覆盖父类方法
解决Flutter iOS构建失败(Swift Compiler Error: Method does not override...)
问题原因
这个报错是因为flutter_inappwebview_ios 1.1.0版本的代码里,某个方法错误标记了override,但该方法在父类中不存在,导致Swift编译失败。本质是插件版本和当前Xcode/iOS SDK版本不兼容。
解决方案
1. 优先升级插件到最新版本
新版本通常会修复这类兼容性问题:
- 打开项目的
pubspec.yaml,把flutter_inappwebview的版本更新为最新稳定版,示例:dependencies: flutter_inappwebview: ^6.0.0 # 替换为实际最新版本 - 执行命令更新依赖:
flutter pub get - 清理缓存后重新构建:
flutter clean flutter run
2. 手动修改插件代码(临时应急方案)
如果暂时无法升级插件,可以直接修改本地缓存的插件代码:
- 打开报错路径的文件:
/Users/Vishnu/.pub-cache/hosted/pub.dev/flutter_inappwebview_ios-1.1.0/ios/Classes/InAppWebView/InAppWebView.swift - 找到第1431行,删除方法前的
override关键字 - 保存文件后重新执行
flutter run
注意:这种修改会在下次执行
flutter pub get时被覆盖,后续还是要升级插件。
3. 检查iOS部署目标版本
确保项目的iOS部署目标符合插件要求:
- 打开iOS项目的
Runner.xcworkspace - 在项目设置中,将
Deployment Target设置为iOS 11.0或更高(对应插件的最低要求) - 清理Xcode构建缓存后重新运行应用
内容的提问来源于stack exchange,提问作者VISHNU PRABHAKARAN
相关产品推荐
相关产品推荐

