Codemagic上iOS Flutter构建失败求助:win32库相关错误
解决Codemagic iOS构建失败(win32库相关错误)
1. 排查win32库的引入问题
win32是Windows平台专属的Dart库,正常iOS构建根本用不上它。先查你的pubspec.yaml,如果直接写了win32: 2.3.6的依赖,直接删掉就行——iOS端完全不需要这个库。
要是没直接依赖,那肯定是某个第三方包间接带进来的。跑下面的命令揪出依赖链:
flutter pub deps --tree
找到引入win32的包,要么换个替代包,要么用dependency_overrides强制把win32升级到兼容版本(比如>=5.0.0,新版本修复了跨平台构建的冲突):
dependency_overrides: win32: ^5.0.0
2. 清掉Codemagic的构建缓存
本地能成CI失败,十有八九是缓存搞的鬼。在Codemagic的构建配置里:
- 找到Build步骤,勾选「Clean before build」选项
- 或者加个前置脚本步骤,执行:
flutter clean rm -rf ios/Pods ios/Podfile.lock flutter pub get cd ios && pod install
3. 处理Xcode扩展点警告
这个警告一般不会直接导致构建失败,但顺手修好也省心:
- 打开
ios/Runner.xcworkspace,选Runner target -> Info标签页 - 检查
NSExtension相关配置,确保所有NSExtensionPointIdentifier是有效值(比如分享扩展对应com.apple.share-services) - 要是没用到任何扩展,直接删掉多余的
NSExtension配置项就行
4. 对齐Codemagic和本地的环境版本
确保Codemagic用的Flutter、Xcode版本和你本地一致:
- 在Codemagic的Environment配置里,选和本地相同的Flutter SDK版本
- Xcode镜像也尽量匹配(比如本地用Xcode 15,Codemagic也选Xcode 15的镜像)
内容的提问来源于stack exchange,提问作者Ricardo Pereira
相关产品推荐
相关产品推荐

