使用CocoaPods集成Realm的时候,发现了一个问题。Xcode编译项目,提示找不到 impl/collection_change_builder.hpp
等两个文件。
到realm-cocoa仓库上看了下,有一个哥们遇到了和我相同的问题, 提了一个issue ,开发团队的回复没有解决问题,于是这个哥们换用Carthage来集成Realm了。开发团队提到了其中一种解决方案就是清除CocoaPods的缓存。我尝试后确实可以解决问题。
pod cache list
,会列出所有本地已经缓存的第三方库。 pod cache clean Realm
,我这里发生编译错误的是Realm,如果有必要(有依赖的情况)可以清理掉其他相关的第三方库。 pod install
,此时CocoaPods会从远程仓库重新拉取代码。 需要注意的一点是,很多人在执行 pod install
的时候喜欢在后面加上 --no-repo-update
参数,这个参数的意思是不从远端更新本地的CocoaPods的Specs目录,也就是~/.cocoapods,这个目录存放的 并不是所有缓存的第三方库 ,而是各个第三方库的配置文件,每个版本对应一个.json文件。如果此处的第三方库配置文件是正确的,那么 pod install --no-repo-update
的时候,会从正确的配置文件中的位置拉取正确的代码。