我有一个使用CocoaPods的iOS项目。一切都很顺利,直到另一个开发人员开始在同一个项目上工作。他做了一些更改(据我所知只是对代码进行了更改),并在回购中创建了一个新的分支。我已经检查了他的分支,并试图构建它,但我得到一个错误:ASLogger/ASLogger.h文件未找到。

即使我删除了整个项目,重新复制并使用“pods install .”,构建失败仍然存在。你知道问题出在哪里吗?如果你需要更多的信息,尽管问。


当前回答

我发现${PODS_HEADERS_SEARCH_PATHS}是缺失的,它没有在我的开发git分支中定义,所以我添加了“$(SRCROOT)/Pods/Headers/”的头搜索路径递归

对我来说没问题

其他回答

这里还有另一个原因:所有的头路径看起来都很好,但我们在预编译(.pch)文件中试图读取pod头时仍然有一个错误

(即#import <CocoaLumberjack/CocoaLumberjack.h>)。

查看原始构建输出,我终于注意到这个错误破坏了我们的Watch OS扩展目标,而不是我们正在构建的主要目标,因为我们还将.pch预编译的头文件导入到Watch OS目标中,并且它在那里失败了。确保你的Watch OS目标设置不会试图导入.pch文件(特别是如果你从主目标设置导入,就像我做的那样!)

以下是对我有效的方法:

转到目标>“构建设置”选项卡,找到“用户头搜索路径”设置。

将其设置为"$(BUILT_PRODUCTS_DIR)"并选中"Recursive"复选框。

现在构建的目标将搜索工作区的共享构建目录,以定位可链接的头文件。

====

更新

最近我也遇到了类似的问题(尽管略有不同)。结果Xcode找不到Pods,因为我打开的是。xcodeproj文件而不是。xcworkspace文件。也许将来能帮助到别人。

我有另一个可行的解,

Xcode辞职 打开Xcode,清理项目 首先构建Pods项目 建设项目

维基给出了如何解决这个问题的建议:

如果Xcode找不到依赖项的头文件: 检查pod头文件是否在Pods/Headers中被正确地符号链接 并且您没有覆盖HEADER_SEARCH_PATHS(参见#1)。如果Xcode 还是找不到他们,作为最后的手段,你可以提前进口, 例如,#导入“Pods/ ssziparchvee .h”。

头文件,你会害死我的…

最后通过添加(包括引号)让它工作

"${PODS_ROOT}/BuildHeaders"

到User Header Search Paths条目,并检查“递归”。