我有一个使用CocoaPods的iOS项目。一切都很顺利,直到另一个开发人员开始在同一个项目上工作。他做了一些更改(据我所知只是对代码进行了更改),并在回购中创建了一个新的分支。我已经检查了他的分支,并试图构建它,但我得到一个错误:ASLogger/ASLogger.h文件未找到。
即使我删除了整个项目,重新复制并使用“pods install .”,构建失败仍然存在。你知道问题出在哪里吗?如果你需要更多的信息,尽管问。
我有一个使用CocoaPods的iOS项目。一切都很顺利,直到另一个开发人员开始在同一个项目上工作。他做了一些更改(据我所知只是对代码进行了更改),并在回购中创建了一个新的分支。我已经检查了他的分支,并试图构建它,但我得到一个错误:ASLogger/ASLogger.h文件未找到。
即使我删除了整个项目,重新复制并使用“pods install .”,构建失败仍然存在。你知道问题出在哪里吗?如果你需要更多的信息,尽管问。
当前回答
我发现将库作为pod安装直接帮助动态库。例如,对于Firebase:
pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'
或ASLogger:
pod 'ASLogger', :path => 'path/to/node_modules/aslogger/ios' // path to header files
更改或硬编码HEADER_SEARCH_PATHS并没有帮助我。如果错误再次出现,不需要rm -rf node_modules,也不需要删除pod文件等,我发现清除缓存很有用。
对于react-native,我运行
rm -rf $TMPDIR/react-native-packager-cache-*
rm -rf $TMPDIR/metro-bundler-cache-*
rm -rf $TMPDIR/metro-*
rm -rf $TMPDIR/react-*
rm -rf $TMPDIR/haste-*
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
npm start -- --reset-cache
对于Xcode,我删除~/Library/Developer/Xcode/DerivedData中的文件夹
其他回答
其他两个答案在这里都没有帮助。我发现了另外两个可以解决它的问题:
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
我发现将库作为pod安装直接帮助动态库。例如,对于Firebase:
pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'
或ASLogger:
pod 'ASLogger', :path => 'path/to/node_modules/aslogger/ios' // path to header files
更改或硬编码HEADER_SEARCH_PATHS并没有帮助我。如果错误再次出现,不需要rm -rf node_modules,也不需要删除pod文件等,我发现清除缓存很有用。
对于react-native,我运行
rm -rf $TMPDIR/react-native-packager-cache-*
rm -rf $TMPDIR/metro-bundler-cache-*
rm -rf $TMPDIR/metro-*
rm -rf $TMPDIR/react-*
rm -rf $TMPDIR/haste-*
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
npm start -- --reset-cache
对于Xcode,我删除~/Library/Developer/Xcode/DerivedData中的文件夹
我也遇到了同样的问题,但是上面的解决方法都行不通。 我通过这样做来修复它:
删除整个项目 运行git克隆项目,然后运行bundle exec pod install CD项目并运行remote- add upstream your-remote-rep-add Git上游获取 Git checkout master Git合并upstream/master
然后就成功了。
一个简单的解决方法是: 1. 删除Pods文件夹和Podfile。锁文件。但是不要删除Podfile 2. 在项目根目录下执行以下命令:
pod install
以下是对我有效的方法:
转到目标>“构建设置”选项卡,找到“用户头搜索路径”设置。
将其设置为"$(BUILT_PRODUCTS_DIR)"并选中"Recursive"复选框。
现在构建的目标将搜索工作区的共享构建目录,以定位可链接的头文件。
====
更新
最近我也遇到了类似的问题(尽管略有不同)。结果Xcode找不到Pods,因为我打开的是。xcodeproj文件而不是。xcworkspace文件。也许将来能帮助到别人。