链接器命令失败,退出代码为1(使用-v查看调用),Xcode 8,Swift 3

Jak*_*son 109 xcode objective-c ios carthage xcode8

我无法摆脱这个错误!

我尝试了各种各样的事情,比如清除衍生数据(首选项 - >位置 - >单击灰色箭头在Finder中打开Derived Data文件夹 - >右键单击,移至垃圾箱),清理项目(CMD + Shift + K或产品) - >清理),更新carthage和依赖项,检查StackOverflow上的其他答案(主要是在Build Settings/Phases中调整),并从github等重新克隆应用程序.

同一项目适用于我的协作者计算机..

编辑:从目前最受欢迎的答案,我能够进一步调试...我仍然不知道如何修复.看起来我在项目中有两次东西?我看了,发现两次都找不到任何东西!

这是日志的图片:

小智 159

我今天在xcode 8版本8.3.2中遇到了同样的问题

右键单击问题 - >在日志中显示

在此输入图像描述

然后你就可以检查是什么导致了这个问题

在此输入图像描述

  • 为什么这是公认的答案?它实际上没有回答这个问题,只是有助于达成解决方案. (57认同)

Aas*_*ish 106

也许您安装了一个pod文件,而您仍在尝试从该.xcodeproj文件构建而不是.xcworkspace

  • 不,出于这个原因,我使用了迦太基。不过,这是一个合理的答案,可以帮助其他人解决同样的错误! (3认同)

Cha*_*ing 35

唯一对我有用的是跑步pod deintegrate和跑步pod install


小智 18

你试过干净吗?cmd + shift + k

  • 哦是啊..很多次! (5认同)

Jak*_*son 8

好的......所以这就解决了我的问题......

在App委托文件中:

#import "AppDelegate.h"
#import "DarkSkyAPI.h"
//#import "Credentials.h"
Run Code Online (Sandbox Code Playgroud)

我已经在项目的DarkSkyAPI.m文件中导入了Credentials.h.评论额外的导入使得错误消失了!

有些事情要提及,也许将来可以帮助任何人.@ umairqureshi_6的回答确实帮助了我,但没有解决它.他导致了我能够挖掘信息的地方.我一直看到错误日志中显示的AppDelegate和DarkSkyAPI文件以及它从Credentials文件中提取的信息导致错误.我知道它必须在这3个文件中的一个,所以我立即检查了导入,因为我记得听说.h携带从.m文件中的所有导入.繁荣!


小智 7

选择项目 -> 构建阶段 -> 将二进制文件与库链接并添加所有 pod 库。


Pri*_*nka 6

我现在问题已经回答了.但如果这有助于某人节省一些时间:我有同样的错误.我检查了一切,发现了我身边一个非常小而愚蠢的错误.我在项目的视图控制器中导入了核心数据ManagedObject自定义文件.我不小心导入.m文件而不是.h文件导致架构中的重复符号错误(链接器命令失败),因为我的.m文件属性类导入核心数据类的.h文件,因此导致重复导入.

因此,在尝试多种解决方案之前,请检查是否已导入正确的文件.


Aab*_*aza 6

上面提到了很多解决方案。没有人为我工作(但请先尝试以上)。

选择项目->选择目标->链接框架和库->添加所有pod库。(删除它们是否存在于嵌入式二进制文件中)

现在,从xcode的左文件资源管理器中的Framework Folder中删除这些文件。

这解决了我的问题。