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

Flutter iOS构建报错:UIApplication不遵循Launcher协议(url_launcher_ios)

问题原因
  1. url_launcher_ios版本不兼容iOS 18:你使用的url_launcher_ios-6.2.4是旧版本,未适配iOS 18对UIApplication.open()方法的签名变更——iOS 18为该方法的completionHandler参数新增了@MainActor和@Sendable修饰符,导致插件定义的Launcher协议与系统方法签名不匹配,触发类型不兼容错误。
  2. Flutter.h找不到的关联问题:该问题通常是项目iOS配置与当前Flutter SDK版本不匹配,叠加旧插件版本的适配缺陷共同导致的,本质也是依赖版本兼容性问题。
解决方法

1. 升级url_launcher到兼容iOS 18的版本

修改pubspec.yaml中的url_launcher依赖版本为6.3.0及以上(该版本开始适配iOS 18的方法签名变更):

dependencies:
  flutter:
    sdk: flutter
  url_launcher: ^6.3.0 # 或直接指定最新稳定版

执行命令更新依赖:

flutter pub get

2. 彻底清理并重新同步iOS依赖

执行以下命令确保依赖完全更新:

flutter clean
flutter pub get
cd ios
pod deintegrate
pod cache clean --all
pod install

3. 确认Flutter SDK版本适配iOS 18

确保你的Flutter SDK为3.19及以上稳定版(该版本开始官方适配iOS 18),如果版本过低,执行升级:

flutter upgrade

4. 统一iOS部署目标配置

  • 确认ios/Podfile中的部署目标为12.0或更高:
    platform :ios, '12.0'
    
  • 打开ios/Runner.xcworkspace,选择Runner Target,在General > Deployment Info中,确保iOS部署目标与Podfile配置一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 06:42:10