我使用Carthage进行依赖管理,并在我的项目中收到一堆警告:
" Multiple build commands for output file /Users/me/Library/Developer/Xcode/DerivedData/project-ymeymeyme/Build/Products/Debug-iphonesimulator/project.app/Frameworks/Alamofire.framework
"
我不确定处理此问题的最佳方法是从导出的数据文件夹中删除,还是从Link Binary With Libraries或Embed Frameworks中删除Build Phases?
有什么想法吗?谢谢!
答案 0 :(得分:7)
在我看来,您正在捆绑所提到的框架两次。 (https://stackoverflow.com/a/5659415/1120481)
你提到你的目标有一个Run Script
构建阶段,/usr/local/bin/carthage copy-frameworks
建议用于iOS,tvOS和watchOS的Carthage README文件。
您还要问是否应该从Embedded Binaries
中删除该框架。您是否将框架添加到此列表中?如果是,您可能会混淆 macOS 和 iOS,tvOS,watchOS 的迦太基设置说明。
如果您要为macOS构建,请删除脚本阶段。
如果您正在为iOS,tvOS或watchOS构建,请从嵌入式二进制文件中删除该框架。
答案 1 :(得分:3)
我通过更改Run Script
下/usr/local/bin/carthage copy-frameworks
执行Embed Frameworks
阶段的顺序来修复此问题。这恰好是此目标的最后构建阶段。