解决 ld:library not found for -lPods-XXX

来源:互联网 发布:淘宝卖家延迟收货时间 编辑:程序博客网 时间:2024/05/01 01:23

今天同事clone了下git上的项目,配置了pod后,一直build失败,提示如下图所示:



故自己试了下,果然build失败,看失败的提示,就是说找不到关联库。因为pod是自动配置好关联库,也没手动更改过什么,检查了buildsetting也没发现有啥问题。网上查找了一些解决方法,如删除pod相关的所有文件,包括xcodeworkspace,重新install也不行。

最后,采用对比的方法,新建一个项目XQTest,将原项目的Podfile拷入,然后install,build后成功。那好,这样就可以进行对比了,对比两个项目target的buildsetting,看看哪里不同。结果发现两个项目如下不同:(上图是出问题的项目,下图是新建的项目)





瞬间有了眉目,为了确认去查看俩项目的pods,结果都如下:



所以问题找到了,关联路径不对,所以查找不到关联库,但是这些配置都是pods自动设置好的,没有手动改过,联想到不久前更新了pods,所以应该是新版pods对关联库这块进行了更新, Pods-XXX 变成 XXX,而clone下来的项目的buildsetting还是之前的,虽然进行了pod install/update,关联路径还是按照老的来查找,故build失败,说找不到。

解决方法,项目--target--buildsetting--other linker flags ,删除掉老的 “ -|Pods-XXX ” 即可,删除后 pods 会自动配置路径的。
(有时单纯看other linker flags 显示是对的,但是双击编辑的时候,发现还是老的,所以要仔细检查)

这个问题是项目更新pods后造成的,如果项目一开始就用新版本pods当然不会出现此问题,从刚刚新建项目XQTest就能看出是正常的。

(写的比较啰嗦,主要是想记录下自己解决此bug的思路,提醒自己之后遇到类似问题应该如何处理。)


0 0
原创粉丝点击