Xcode 15.0.1编译报错:Multiple commands produce AWSCore.framework
解决Xcode 15.0.1编译时「Multiple commands produce AWSCore.framework」的问题
下面是针对这个编译错误的几种有效解决方法,按优先级尝试:
检查重复的框架引用
打开项目的Build Phases标签,分别查看Link Binary With Libraries和Embed Frameworks两个模块:- 确认
AWSCore.framework是否在两个模块里都有添加,或者同一模块里有多个条目 - 保留必要的条目(动态框架通常只需要在
Embed Frameworks里添加,Xcode会自动处理链接;静态框架则只需要在Link Binary With Libraries里添加),移除重复的引用
- 确认
清理Derived Data
- 点击Xcode顶部菜单栏的
Xcode→Settings→Locations - 找到
Derived Data项,点击右侧的箭头打开文件夹,删除当前项目对应的Derived Data文件夹 - 重启Xcode后重新编译项目
- 点击Xcode顶部菜单栏的
修复CocoaPods依赖(如果项目用了CocoaPods)
- 打开终端,进入项目根目录,执行命令:
pod deintegrate pod install - 检查
Podfile,确认没有同时直接引入AWSCore和包含它的其他AWS库(比如AWSS3本身就依赖AWSCore,重复引入会导致冲突)
- 打开终端,进入项目根目录,执行命令:
调整框架搜索路径
- 进入项目的
Build Settings,搜索Framework Search Paths - 检查列表里是否有重复的路径指向
AWSCore.framework的位置,删除重复路径 - 尽量使用相对路径(比如
$(PROJECT_DIR)/Frameworks)代替绝对路径,避免路径冲突
- 进入项目的
排查自定义构建阶段
- 在
Build Phases里查看是否有自定义的Copy Files或其他构建步骤,重复复制了AWSCore.framework到目标路径 - 如果发现重复的复制命令,删除多余的步骤
- 在
内容的提问来源于stack exchange,提问作者Suryadev W3Dev
相关产品推荐
相关产品推荐

