今天运行项目忽然出现一个问题:library not found for -lAFNetworking,上次提交代码的时候没有问题的呀,查了好几个地方都没问题,最后百度修改了一个才可以,下面记录一下出现这个问题应该查看的几个方向和百度出来的方法:
-
如果是pod导入第三方库,查看项目里是否少了xcworkspace文件:
如果缺少该文件就把它添加上,添加方法:关闭Xcode,编辑好Podfile文件,终端cd到工程目录,用pod install 命令重新安装,成功后再打开Xcode编译项目。
在XCode 工程文件,在 Build Phases 中查看 “ Link binary With Libraries” 如果发现有一到数个的条目是用红色字体来显示,说明其物理文件已经不处于之前所记录的地方了,此时右击红色条目,选择 “Reveal in Project Navigator”, 在左侧栏中定位到缺失文件所在的路径,挪回它应该待的地方。(Target->BuildSetting->Library Search Path添加以
$(PROJECT_DIR)/
开始的相对路径)。target>get info> Build Settings > Library Search Path 查看是否为空,增加$(inherited),clean项目(此时便添加了缺失链接库的所在文件夹的路径)。
项目的target里,选中Link Binary With Libraries 里的.a或framework 取消再加入。
Header Search Paths和Library Search Paths 里面所有路径前面加入$(inherited)。
Other Linker Flag若发现多余的头文件将其删除。
在product-》edit scheme中-》build里面添加pods的所有的库。
更改Build Settings -》architectures-》build active architecture only属性,一般Xcode的默认设置是Debug为Yes,编译的时候只编译成当前连接设备的处理器版本,会大大缩短编译时间。Release的时候,需要设置成No。
一般查看这几方面配置正确这个问题就会解决,如果还不行就查看:https://stackoverflow.com/questions/40645433/ld-library-not-found-for-lgmpxx