我有一个使用CocoaPods的iOS项目。一切都很顺利,直到另一个开发人员开始在同一个项目上工作。他做了一些更改(据我所知只是对代码进行了更改),并在回购中创建了一个新的分支。我已经检查了他的分支,并试图构建它,但我得到一个错误:ASLogger/ASLogger.h文件未找到。
即使我删除了整个项目,重新复制并使用“pods install .”,构建失败仍然存在。你知道问题出在哪里吗?如果你需要更多的信息,尽管问。
我有一个使用CocoaPods的iOS项目。一切都很顺利,直到另一个开发人员开始在同一个项目上工作。他做了一些更改(据我所知只是对代码进行了更改),并在回购中创建了一个新的分支。我已经检查了他的分支,并试图构建它,但我得到一个错误:ASLogger/ASLogger.h文件未找到。
即使我删除了整个项目,重新复制并使用“pods install .”,构建失败仍然存在。你知道问题出在哪里吗?如果你需要更多的信息,尽管问。
当前回答
这里还有另一个原因:所有的头路径看起来都很好,但我们在预编译(.pch)文件中试图读取pod头时仍然有一个错误
(即#import <CocoaLumberjack/CocoaLumberjack.h>)。
查看原始构建输出,我终于注意到这个错误破坏了我们的Watch OS扩展目标,而不是我们正在构建的主要目标,因为我们还将.pch预编译的头文件导入到Watch OS目标中,并且它在那里失败了。确保你的Watch OS目标设置不会试图导入.pch文件(特别是如果你从主目标设置导入,就像我做的那样!)
其他回答
维基给出了如何解决这个问题的建议:
如果Xcode找不到依赖项的头文件: 检查pod头文件是否在Pods/Headers中被正确地符号链接 并且您没有覆盖HEADER_SEARCH_PATHS(参见#1)。如果Xcode 还是找不到他们,作为最后的手段,你可以提前进口, 例如,#导入“Pods/ ssziparchvee .h”。
如果你使用的是Xcode 12或以上版本,请确保你的Pods是为正确的架构(Intel vs. ARM)编译的。检查是否在任何地方设置了VALID_ARCHS或EXCLUDED_ARCHS。
我有config。build_settings['EXCLUDED_ARCHS[sdk= iphoneonesemulator *]'] = 'arm64'在我的Podfile中,这阻止了编译器找到Pod头文件。
如果你在“pod安装”或“pod更新”后出现构建错误,这可能是因为你的某个pod已经使用XCode 6.3构建,而你仍然在使用以前的版本。
在我的情况下,我不得不更新我的OSX从mavericks到Yosemite有Xcode 6.3并解决问题
更新
确保您的Podfile包含link_with目标缺少配置文件。否则,Cocoapods默认只设置第一个目标。如。
platform :osx, '10.7'
pod 'JSONKit', '~> 1.4'
link_with 'Pomo', 'Pomo Dev', 'Pomo Tests'
------结束
注意:请注意,您必须查看项目->信息->配置下面的步骤。
我有类似的症状,发现豆荚。xcconfig文件没有包含在我试图构建的特定目标中。其他一些建议的解决方案对我来说很有效,但这个解决方案似乎解决了部分潜在问题。
简单的解决方案是为没有set的目标更改配置文件set。
我是在Xcode 5.0的GM种子上,我不能让这些答案工作。我在SO上尝试了多个不同的关于头导入/ cocoapods的问题。
最后我找到了一个适合我的解决方案:我通过Mac AppStore升级到Xcode 5.0(安装在GM种子的顶部),现在头导入工作正常。
我的系统上还有Xcode 5的测试版,我也把它删除了。也许是这两件事的结合,但希望这能帮助到其他人。