在现有工作区中安装KIF时出现错误“找不到-lPods-MyProjectTests-KIF的库”

时间:2015-02-13 10:54:13

标签: xcode6 integration-testing cocoapods ld kif

将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.*.xcconfig某些设置无法正确inherited,这可能是由于先前的修改已删除项目中的$(inherited)或某些地方的目标等级(虽然这通常应该产生warnings)。

1 个答案:

答案 0 :(得分:0)

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

这些步骤有效:

  1. 从原始位置向下移动MyProject.xcworkspace/
  2. 在新位置
  3. 运行pod install
  4. 移回MyProject.xcworkspace/ 到原来的位置
  5. 在Xcode中删除对Pods.xcodeproj/的引用 (因为文件系统中的相对位置已经改变)和 重新创建它的新引用。
  6. 由于这有点麻烦,我还发布了一个新问题。