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

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


当前回答

如果你在“pod安装”或“pod更新”后出现构建错误,这可能是因为你的某个pod已经使用XCode 6.3构建,而你仍然在使用以前的版本。

在我的情况下,我不得不更新我的OSX从mavericks到Yosemite有Xcode 6.3并解决问题

其他回答

我发现将库作为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中的文件夹

你试过引进Cocoapods风格吗?

#import <ASLogger.h>

网站上的信息不是很清楚,我提交了一个拉请求:

https://github.com/CocoaPods/cocoapods.org/pull/34

更新:他们撤回了我的请求:)

如果你使用的是Xcode 12或以上版本,请确保你的Pods是为正确的架构(Intel vs. ARM)编译的。检查是否在任何地方设置了VALID_ARCHS或EXCLUDED_ARCHS。

我有config。build_settings['EXCLUDED_ARCHS[sdk= iphoneonesemulator *]'] = 'arm64'在我的Podfile中,这阻止了编译器找到Pod头文件。

我有另一个可行的解,

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

1.检查

build settings ->搜索路径->用户头搜索路径-> . build settings

“$ {PODS_ROOT} /”递归

2.检查导入样式(关键点), 如果你的podfile已经设置

use_frameworks !

在File-Bridging-Header.h中,格式化器应该是这样的

#进口“MBProgressHUD.h”

Else应该在下面

#进口< MBProgressHUD.h >

3.那一定是工作!相信我