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

FlutterFlow导出iOS应用Xcode构建成功后启动崩溃求助

FlutterFlow导出iOS项目在Xcode模拟器启动白屏崩溃问题排查与解决

问题背景

  • 环境:FlutterFlow导出的iOS项目,Xcode v15.0.1,iPhone 15模拟器(iOS 17.0),已完成Flutter、CocoaPods等依赖安装,Apple开发者签名、开发团队及App Bundle ID配置正常
  • 现象:构建过程无报错,但启动后显示白屏随即崩溃,触发SIGABRT信号,错误日志如下:
Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
[FATAL:flutter/display_list/skia/dl_sk_dispatcher.cc(277)] Check failed: false.
  • 已尝试操作:检查Runner设置、执行flutter build ios、清理构建文件夹重建,均无效
  • 项目配置:集成Firebase,包含通知子目标"ImageNotification",当前构建阶段顺序:
    1. Target Dependencies
    2. Run Build Tool Plugins
    3. Check Pods Manifest.lock
    4. Embed Frameworks
    5. Embed App Extensions
    6. Embed Pods Frameworks
    7. Run Script
    8. Compile Sources
    9. Link Binary with Libraries
    10. Copy Bundle Resources
    11. Thin Binary
    12. Copy Pods Resources

原因分析

  • 第一个Core Telephony相关错误属于模拟器环境的无关警告(模拟器无蜂窝服务,该服务不存在),不是崩溃根源
  • 真正触发崩溃的是Skia渲染库的致命错误,结合项目构建阶段顺序,核心原因是Flutter相关的Run Script执行顺序过晚,导致Flutter代码、资源未提前编译完成,引发渲染初始化失败;其次Firebase通知扩展的配置冲突也可能加剧该问题

解决步骤

1. 调整构建阶段顺序(关键修复)

Flutter iOS项目要求Run Script(执行Flutter编译逻辑)必须在Compile Sources和Copy Bundle Resources之前,修改后的正确顺序应为:

  • Target Dependencies
  • Run Build Tool Plugins
  • Check Pods Manifest.lock
  • Run Script(对应原顺序第7项,脚本内容通常为"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build)
  • Compile Sources
  • Link Binary with Libraries
  • Embed Frameworks
  • Embed App Extensions
  • Embed Pods Frameworks
  • Copy Bundle Resources
  • Copy Pods Resources
  • Thin Binary

2. 修复Firebase通知扩展配置

  • 确保"ImageNotification"子目标的Bundle ID为主App Bundle ID的后缀形式(例如主ID为com.example.app,扩展ID需设为com.example.app.ImageNotification)
  • 同步扩展目标的DEVELOPMENT_TEAM与主App一致,签名配置保持统一
  • 检查项目iOS目录下的Podfile,确认扩展目标已正确引入Firebase依赖(如target 'ImageNotification' do; pod 'Firebase/Messaging'; end)

3. 彻底清理并重建项目

  • 在Xcode中执行Product > Clean Build Folder(快捷键Cmd+Shift+K)
  • 终端进入项目iOS目录,执行命令:pod deintegrate && pod install
  • 重启Xcode,重新选择模拟器运行

4. 验证Flutter版本兼容性

  • 执行flutter doctor检查环境兼容性,确保Flutter版本适配Xcode 15和iOS 17
  • 若版本较旧,升级至稳定版:flutter upgrade

5. 排除模拟器特定问题

  • 切换至iOS 16.x版本的模拟器测试,或直接使用真机运行,验证是否仍出现崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 10:25:56