我在CocoaPods集成SDWebImage后,然后在代码中运用了 SDWebImage的方法,然后,程序就出现了如上图的崩溃信息,说找不到该方法。 注意这个时候,
#import "UIImageView+WebCache.h" 是不会提示的。
这说明Xcode没有找到这个第三方库。 然后我就各种爬文,然后发现我在配置CocoaPods的时候,忽视了一个严重的细节。
解决方法如下:
在target-Build Settings下修改“User Header Search Paths”项,新增${SRCROOT}并选择rcursive 选项 ,截图如下
现在就可以使用Cocoapods下载的相关库了。
如果在使用过程中出现 第三方库出错的解决办法
执行完pod install之后,控制台抛出以下警告信息:
[!] The use of implicit sources has been deprecated. To continue using all of the sources currently on your machine, add the following to the top of your Podfile: source 'https://github.com/CocoaPods/Specs.git' [!] The `ProjectName [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation [!] The `ProjectName [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
如果不解决此问题的话,会出现由于部分库文件找不到而导致的种种问题:
(1)编译失败,抛出Undefined symbols for architecture i386错误
(2)调用库中的方法,抛出unrecognized selector sent to instance错误
解决方法如下:
1、打开工程所在文件夹,找到.xcodeproj文件,右键选择【显示包内容】,找到project.pbxproj文件
2、打开project.pbxproj文件,查找OTHER_LDFLAGS,把和这个相关的内容都删除
3、重新执行pod install,此时应该就没有上面出现的警告信息了
4、编译并运行
注意: 一定要注意在 pod '第三方库' ,的时候,不要使用错了 引号, 是英文下的 单引号。