Carthage:输出文件框架的多个构建命令

时间:2017-10-18 00:04:09

标签: swift xcode carthage

我使用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?

有什么想法吗?谢谢!

2 个答案:

答案 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阶段的顺序来修复此问题。这恰好是此目标的最后构建阶段。