【问题标题】:linker command failed with exit code 1 (use -v to see invocation) with cocoapods swift链接器命令失败,退出代码为 1(使用 -v 查看调用)与 cocoapods swift
【发布时间】:2016-08-18 20:24:41
【问题描述】:

我正在尝试使用 cocoapods 快速编译我的项目,但出现此错误:

ld: warning: directory not found for option '-F/Users/platis/Library/Developer/Xcode/DerivedData/Platis-dazbrsqztcftsbapiewpxklnxdhp/Build/Products/Debug-iphonesimulator/ToastSwift'
ld: framework not found ToastSwift
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我正在尝试从 this 安装 ToastSwift

【问题讨论】:

  • 您是否尝试使用 cocoapods 创建的工作空间进行编译?
  • 您是否尝试过退出然后重新启动应用程序,或者运行干净然后构建?
  • 从终端执行此操作:ls -l ~/Library/Developer/Xcode/DerivedData/Platis-dazbrsqztcftsbapiewpxklnxdhp/Build/Products/Debug-iphonesimulator 并给我们输出。包括在你的问题中。这应该是对工作区进行完全干净和完整的构建之后。
  • 我们还需要您的 Podfile 的确切内容,以及 Project 目录中“Pods”目录的“ls -l”,以及 pod --version 的输出,以及输出'pod install` 并确保它已成功运行。我发现有些豆荚需要 0.39 版的 cocoapods,而其他豆荚需要 1.0 版。
  • 尝试删除您的派生数据文件夹并重建。

标签: ios swift xcode swift2 cocoapods


【解决方案1】:

当您使用 CocoaPod 时,它会创建一个新的启动文件:Projectxcworkspace

只有这个文件包含 Pod 配置。从技术上讲,工作空间是项目的集合;每个 Pod 都有自己的项目,因为每个 Pod 都有自己的配置要求和资源。您不能再使用.xcodeproj 来启动您的项目,否则将找不到任何 Pod 信息。

如果你不这样做,你会得到各种各样的编译和链接错误。

您错过了这行文档:

https://guides.cocoapods.org/using/using-cocoapods.html

打开创建的 MyApp.xcworkspace。这应该是您使用的文件 每天创建您的应用程序。

【讨论】:

    【解决方案2】:

    我解决了删除派生数据文件夹、重建和打开 .xcworkspace 而不是 .xcodeproj 的问题

    【讨论】:

    • 您是删除了整个派生数据文件夹还是只删除了派生数据中用于您项目的文件夹?
    • 我删除了整个派生数据文件夹
    最近更新 更多