升级系统后Flutter iOS项目Xcode编译报错:Multiple commands produce FBSDKCoreKit.framework
解决Flutter iOS升级系统后编译重复生成FBSDKCoreKit.framework的问题
针对升级iOS 16.4.1、Xcode 14.3、macOS 13后出现的Multiple commands produce '/xxx/FBSDKCoreKit.framework'编译错误,以下是针对性解决步骤:
1. 彻底清理缓存与重新安装依赖
- 执行Flutter项目清理:
flutter clean - 进入项目的
ios目录,清理并重新安装Pods:cd ios pod deintegrate pod install - 清理Xcode构建缓存:打开Xcode,按下
Cmd+Shift+K执行Clean Build Folder,或者手动删除DerivedData目录(路径为报错信息中显示的/Users/xxx/Library/Developer/Xcode/DerivedData/Runner-xxx/)
2. 移除Build Phases中的重复引用
- 打开Xcode的Runner项目,切换到Build Phases标签页
- 检查Embed Frameworks或Copy Bundle Resources列表,若存在手动添加的
FBSDKCoreKit.framework,直接删除该条目(Pods的[CP] Embed Pods Frameworks脚本已负责嵌入该框架,手动添加会导致重复操作) - 确认
[CP] Embed Pods Frameworks脚本处于启用状态,未被误删或修改
3. 检查Podfile与依赖版本
- 确认Podfile中未手动重复声明FBSDK相关依赖(避免与Flutter pubspec.yaml中的依赖冲突)
- 确保Podfile的iOS平台版本适配,例如:
platform :ios, '14.0' - 更新FBSDKCoreKit至兼容Xcode 14.3的版本:
pod update FBSDKCoreKit
4. 校验Xcode项目设置
- 进入Runner Target的Build Settings标签页,搜索
Framework Search Paths,移除其中重复的FBSDKCoreKit相关路径 - 搜索
Embed Frameworks,确认仅存在Pods自动生成的嵌入配置,无手动添加项
5. 极端情况:重新生成iOS项目文件
若以上步骤均无效,可备份原ios目录后,执行以下命令重新生成iOS项目结构,再重新配置原生代码(如AppDelegate、Info.plist):
flutter create --platforms ios .
内容的提问来源于stack exchange,提问作者Cedric
相关产品推荐
相关产品推荐

