【问题标题】:Error "library not found for -lPods-MyProjectTests-KIF" when installing KIF in existing workspace在现有工作区中安装 KIF 时出现错误“找不到 -lPods-MyProjectTests-KIF 的库”
【发布时间】:2015-02-13 10:54:12
【问题描述】:

将 KIF 添加到现有 Xcode 6 工作区时遇到此错误:

ld: library not found for -lPods-MyProjectTests-KIF

MyProject.xcworkspace/ 位于 MyProject.xcproject/ 的父目录中(并且还依赖于其他几个同级项目),我的情况可能有什么特别之处:

./MyProject.xcworkspace/
./MyProject/
./MyProject/MyProject.xcworkspace/
./MyProject/Podfile

我的Podfile如下:

target 'MyProjectTests', :exclusive => true do
  pod 'KIF', '~> 3.0', :configurations => ['Debug']
  workspace 'MyProject'
end

当我运行pod --project-directory=./MyProject install 并打开MyProject.xcworkspace 时,目标MyProject 仍然可以编译,但在构建MyProjectTests 时出现引用链接错误。

我该如何克服这个问题?

更新我现在的猜测是,某些设置与Pods-MyProjectTests.*.xcconfiginherited 不正确,可能是由于之前的编辑在某些地方的项目或目标级别删除了$(inherited)s(虽然这通常会产生warnings)。

【问题讨论】:

    标签: xcode6 integration-testing cocoapods ld kif


    【解决方案1】:

    我最初的猜测(在更新的问题中)是错误的。 pod ... install 创建了一个新的MyProject.xcworkspace\ 作为Podfile 的兄弟,而不是修改当前目录中的那个。我错误地假设了第二个。

    这些步骤奏效了:

    1. MyProject.xcworkspace/从原来的位置下移
    2. 在新位置运行pod install
    3. MyProject.xcworkspace/移回 回到原来的位置
    4. 在 Xcode 中,删除其对 Pods.xcodeproj/ 的引用 (因为文件系统中的相对位置已经改变)和 重新创建对它的新引用。

    由于这有点麻烦,我还发布了一个新问题。

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 2015-02-08
      • 1970-01-01
      • 2013-11-15
      • 2018-03-28
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      • 2015-01-23
      相关资源
      最近更新 更多