我有一个使用CocoaPods的iOS项目。一切都很顺利,直到另一个开发人员开始在同一个项目上工作。他做了一些更改(据我所知只是对代码进行了更改),并在回购中创建了一个新的分支。我已经检查了他的分支,并试图构建它,但我得到一个错误:ASLogger/ASLogger.h文件未找到。
即使我删除了整个项目,重新复制并使用“pods install .”,构建失败仍然存在。你知道问题出在哪里吗?如果你需要更多的信息,尽管问。
我有一个使用CocoaPods的iOS项目。一切都很顺利,直到另一个开发人员开始在同一个项目上工作。他做了一些更改(据我所知只是对代码进行了更改),并在回购中创建了一个新的分支。我已经检查了他的分支,并试图构建它,但我得到一个错误:ASLogger/ASLogger.h文件未找到。
即使我删除了整个项目,重新复制并使用“pods install .”,构建失败仍然存在。你知道问题出在哪里吗?如果你需要更多的信息,尽管问。
当前回答
维基给出了如何解决这个问题的建议:
如果Xcode找不到依赖项的头文件: 检查pod头文件是否在Pods/Headers中被正确地符号链接 并且您没有覆盖HEADER_SEARCH_PATHS(参见#1)。如果Xcode 还是找不到他们,作为最后的手段,你可以提前进口, 例如,#导入“Pods/ ssziparchvee .h”。
其他回答
其他两个答案在这里都没有帮助。我发现了另外两个可以解决它的问题:
Xcode项目(你的项目)的配置应该设置为“Pods”,用于调试,发布(以及其他你拥有的)。参见“未找到头文件-不包括搜索路径” 也许你必须使用link_with命令链接目标。参见“无法在静态库项目中找到头文件”
编辑 你可以这样检查符号链接:创建一个名为“check”的文本文件,不带扩展名。将这些行复制进去:
file=/Users/youUserName/XcodeProjectName/Pods/BuildHeaders/SVProgressHUD/SVProgressHUD.h
if [[ ! -e $file && -L $file ]]; then
echo "$file symlink is broken!"
else
echo "symlink works"
fi
然后进入终端,切换到您的检查文件所在的文件夹,并键入
bash check
我通过我想使用的拖放框架解决了Xcode 8.2.1的这个问题。
我认为一个最终的解决方案是去构建设置->搜索路径->用户头搜索路径,找到你的库路径,并在Finder中通过它。确保所有路径都存在,包括导入路径。
对我来说,我的道路比教程更短。在教程中,它类似于#import <SDK/path/to/ SDK/File.h>,但事实证明它只是#import <SDK/File.h>
如果没有导入头文件,则可能在HEADER_SEARCH_PATHS中存在冲突。尝试将$(inherited)添加到Build Settings中的头搜索路径,以确保它从CocoaPods的.xcconfig文件中提取任何搜索路径。
这将有助于解决任何冲突并正确导入源代码。
你试过引进Cocoapods风格吗?
#import <ASLogger.h>
网站上的信息不是很清楚,我提交了一个拉请求:
https://github.com/CocoaPods/cocoapods.org/pull/34
更新:他们撤回了我的请求:)