在现有工作区中安装 KIF 时出现错误“找不到 -lPods-MyProjectTests-KIF 的库”
Posted
技术标签:
【中文标题】在现有工作区中安装 KIF 时出现错误“找不到 -lPods-MyProjectTests-KIF 的库”【英文标题】:Error "library not found for -lPods-MyProjectTests-KIF" when installing KIF in existing workspace 【发布时间】: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.*.xcconfig
的inherited 不正确,可能是由于之前的编辑在某些地方的项目或目标级别删除了$(inherited)
s(虽然这通常会产生warnings)。
【问题讨论】:
【参考方案1】:我最初的猜测(在更新的问题中)是错误的。 pod ... install
创建了一个新的MyProject.xcworkspace\
作为Podfile
的兄弟,而不是修改当前目录中的那个。我错误地假设了第二个。
这些步骤奏效了:
-
将
MyProject.xcworkspace/
从原来的位置下移
在新位置运行pod install
将MyProject.xcworkspace/
移回
回到原来的位置
在 Xcode 中,删除其对 Pods.xcodeproj/
的引用
(因为文件系统中的相对位置已经改变)和
重新创建对它的新引用。
由于这有点麻烦,我还发布了一个新问题。
【讨论】:
以上是关于在现有工作区中安装 KIF 时出现错误“找不到 -lPods-MyProjectTests-KIF 的库”的主要内容,如果未能解决你的问题,请参考以下文章
在 Docker 中运行 Azure DevOps 作业时出现“找不到具有给定版本的模块 Az.Accounts”错误
如何在我的 Kubernetes 容器中安装 tar 二进制文件以使 kubectl cp 工作?