使用CocoaPods导入第三方框架
一、简述
什么是CocoaPods? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总而言之,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods是iOS最常用最有名的类库管理工具,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决。
如果想深入了解,可以直接访问CocoaPods的官网:CocoaPods官网
二、安装
提到安装,在mac上的安装方法很简单,可以直接百度。
三、使用CocoaPods
首先在工程根目录下建立一个名为Podfile的文件。注意不是文本文件哦,可以使用命令行工具切换到工程根目录下,然后输入 vim Podfile ,之后编辑文件的内容,如:
platform :ios, '8.0'
pod 'AFNetworking', '~> 3.1.0'
pod 'MJRefresh','~> 3.1.0'
pod 'SDWebImage', '~> 3.7.5'
然后按esc键,输入‘:wq’保存退出。
再次使用命令行工具在工程的根目录下输入pod install 命令执行pod的安装命令,稍事休息三五分钟就安装完毕了。这时候,到工程的根目录下会发现多了一个.xcworkspace的文件,没错!这代表导入第三方框架成功,以后直接打开这个文件进入项目就可以了。
tip:
如果是第一次安装Cocoapods,不出意外,大多数同学在执行上述命令后会卡在“Setting up CocoaPods master repo”这一句中。我的经验是一个字:等!不要关闭Terminal,大概半小时到一小时左右就会完成,提示“Setup completed”。(第一次会比较慢,第一次以后只需要几秒钟即可完成)为什么会卡这么久呢?
pod setup其实在做这么一件事:Cocoapods在将https://github.com/CocoaPods/Specs的信息下载到你电脑的~/.cocoapods目录下并进行文件比对,总数据大小大约在100MB左右,再加上服务器在国外,因此速度会比较慢。在执行过程中你也可以新开一个Terminal窗口,cd到~/.cocoapods目录,用du -sh *来查看下载进度。
四、导入第三方框架
在这时候,基本上已经成功一半了。下面要开始使用第三方框架了,在自己的工程中导入第三方框架: #import"AFNetworking.h"
这时候会发现Xcode提示找不到头文件,可是明明已经导入了第三方框架了问什么找不到呢?以为还没有设置头文件的目录。
下面我们来设置头文件的目录,在项目的Target的里设置一下,添加cocoapods头文件目录:目录路径直接写:${SRCROOT} ,后边选择recursive 。就可以了。
注意:是在 User Header Search Paths 里添加,不是上面的 Header Search Paths
上图:
五、添加新的框架
如果想添加新的第三方框架,只需要在之前创建的那个Podfile中添加新的安装命令,然后用命令行工具cd到工程目录下输入命令:pod install 就可以了
对,CocoaPods的使用就是这么简单,以后可以用CocoaPods来导入第三方框架
六、正确编译运行一个包含CocoPods类库的项目
有些时候,我们从github上,或者其他地方下载了别人的项目,之后打开高高兴兴的编译发现报了一大堆错误,仔细检查后发现是缺少第三方文件导致的。
这时候我们要做的就是导入工程所需要的第三方文件了:
用命令行工具cd到工程根目录,然后输入命令 pod update 等待完成后打开工程 再次编译 ,会看到久违的Build Succeeded!
对于 iOS 上的 CocoaPods 项目,请尽量使用pod install --no-repo-update --verbose,这样会大大加快pod install的速度。
对,CocoaPods的使用就是这么简单!