在现有工作区中安装 KIF 时出错 "library not found for -lPods-MyProjectTests-KIF"

Error "library not found for -lPods-MyProjectTests-KIF" when installing KIF in existing workspace

我 运行 在将 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 仍然可以编译,但是我在构建 [=20= 时得到引用的 link 错误].

我怎样才能克服这个问题?

更新 我现在的猜测是有些设置不是 inherited correctly from Pods-MyProjectTests.*.xcconfig perhaps due to previous edits that removed $(inherited)s at the project or target level in some places (although this should normally produce warnings).

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

这些步骤有效:

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

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