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

Flutter编译Simulator应用时Xcode无法识别包问题求助

解决Mac Silicon设备上Flutter项目Xcode编译失败问题

问题分析

你遇到的NotificationAppLaunchDetails.payload未定义、_PaymentScreenState.WebView未定义等错误,核心是项目依赖版本与Flutter 3.3.10不兼容,或是本地编译缓存、架构适配存在问题。

修复步骤

1. 排查并调整依赖版本

  • 打开项目根目录的pubspec.yaml文件:
    • 针对推送相关错误:检查firebase_messaging或同类推送依赖的版本,选择适配Flutter 3.3.10的稳定版(可查看依赖的官方版本兼容说明)。
    • 针对WebView错误:检查webview_flutter的版本,Flutter 3.3.10建议搭配3.0.x系列的webview_flutter版本。
  • 修改后执行以下命令:
    flutter pub get
    cd ios
    arch -x86_64 pod deintegrate
    arch -x86_64 pod install
    cd ..
    flutter clean
    

2. 清理Xcode缓存

  • 关闭Xcode,删除以下目录:
    • ~/Library/Developer/Xcode/DerivedData
    • 项目根目录下的ios/build文件夹
  • 重新打开项目,执行flutter run

3. 调整Xcode架构设置

  • 打开项目ios目录下的Runner.xcworkspace:
    • 选中Runner target,进入Build Settings
    • 找到Architectures,设置为Standard Architectures (arm64, x86_64)
    • 检查Excluded Architectures,确保Debug模式下不包含当前模拟器对应的架构(比如模拟器无需排除arm64)

4. 修复废弃API调用

  • 查看报错代码:
    • NotificationAppLaunchDetails.payload若已废弃,替换为类内新的属性(比如notification字段下的对应内容)
    • WebView相关错误若因API变更导致,比如webview_flutter新版本改用WebViewWidget,则同步修改代码实现,并确保正确导入webview_flutter包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:06:06