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

Flutter iOS端使用flutter_blue库构建时报CompileSwiftSources非零退出码错误

问题原因

你遇到的编译错误是旧版flutter_blue库(0.8.0版本)的已知兼容性问题:该版本从2020年起已停止维护,原生iOS端的Objective-C代码语法不兼容Xcode 13+自带的Clang编译器,同时也不适配你当前使用的Flutter master开发版通道。报错行的}>_centralManager.state会被新编译器识别为单个无效运算符,从而触发后续连锁语法错误。

解决方案

优先推荐第一个方案,一劳永逸解决所有兼容性问题:

方案1:替换为社区维护版flutter_blue_plus

flutter_blue_plus是官方flutter_blue的社区分支,完全兼容原有API,适配最新的Xcode、Flutter版本,无需修改业务代码:

  1. 打开pubspec.yaml,将原有flutter_blue: any替换为flutter_blue_plus: ^1.13.3(可替换为当前最新稳定版)
  2. 执行flutter pub get
  3. 进入ios目录,执行pod install --repo-update
  4. 重新运行项目即可

方案2:手动修改原有flutter_blue源码(临时解决方案)

如果暂时无法替换库,可以手动修复语法错误:

  1. 找到报错路径下的FlutterBluePlugin.m文件:your_project/ios/.symlinks/plugins/flutter_blue/ios/Classes/FlutterBluePlugin.m
  2. 定位到第76行,将}>_centralManager.state]];修改为}> _centralManager.state]];(仅需在>和_centralManager之间加一个空格即可)
  3. 清理项目缓存后重新编译即可
    注意:该修改为临时方案,每次执行flutter pub get后修改会被覆盖,需要重新操作
额外优化建议
  • 日常开发不要使用Flutter master通道,该通道为测试开发版,稳定性差,执行flutter channel stable && flutter upgrade切换到稳定通道可避免大量未知兼容性问题
  • 确保iOS项目Podfile第一行的平台配置为platform :ios, '10.0'或更高版本,符合蓝牙库的最低系统要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:24:02