如果已经安装pod的话,最简单的就是
在对应的project目录,(1) touch Podfile
(2) vim Podfile
(3) 编辑Podfile ,加上一行:pod 'SDWebImage'
(4)pod update
(5) 关闭项目,打开另生成的项目文件,即可。
一、cocoaPods是什么?
在iOS开发中,我们一定会经常使用到各种各样的第三方开源库,使用这些开源库的时候,需要引入源码、进行设置、引入其他framework,还有版本的更新.....这些工作没有技术含量而且复杂。这个时候,你要是用了cocoaPods,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后执行pod-install命令,它就会帮你搞定这些无聊的事情。
cocoaPods是一个iOS的类库管理工具,绝大多数常用有名的开源类库都支持用cocoaPods下载管理。
二、安装cocoaPods
1、mac下安装ruby环境
/*传送门:https://ruby-china.org/wiki/install_ruby_guide,一路跟着做下来,非常顺畅。
另外一篇参考的,我做了一半rvm地址用不了了,你可以试试:
http://www.hoowolf.net/2012/03/29/installing-ruby-on-rails-on-mac-os-x-lion/*/
从唐巧大神的文章中得知,mac下自带ruby环境,不需要安装,以上内容注释掉。
2、安装cocoaPods
继续在终端输入:"sudo gem install cocoaPods "
三、使用cocoaPods
1、利用cocoaPods,在项目中导入SDWebImage
(1)使用:“pod search SDWebImage”确定SDWebImage是否支持cocoaPods
(2)A.从终端cd进入你要引入SDWebImage的那个工程目录(与工程文件.xcodeproj同级目录)
B.输入命令“vim Podfile”,创建Podfile文件,进入普通编辑模式。(文件名必须为Podfile)
C.在文件中输入:(如果一个第三方库支持cocoaPods,那它的github页面上就有类似的配置内容)
platform :ios(, '6.1')
pod 'SDWebImage'(, '~>3.6')
类似地,如果要导入其他第三方
pod 'ASIHTTPRequest'
....
以上配置信息大意为,括号里的内容可有可无,支持平台iOS,最低6.1,下载SDWebImage版本3.6。
按esc退出编辑状态,输入“:x”执行保存并退出vim的命令。
这个时候,在你的工程文件.xcodeproj的同等级目录上会生成一个podfile文件
(3)执行“pod install”命令,将SDWebImage下载到工程里,并且设置好了编译参数和依赖。
(4)从此以后,使用*.xcworkspace文件来打开工程,而不是以前的*.xcodeproj;
每次更改了Podfile文件,都需要重新执行一次"pod update"命令,"pod update"默认会更新到第三方的最新版本。如果不想更新到最新版本,使用"pod update --no-repo-update"命令。
2、利用cocoaPods下载第三方类库所需要的其他库
如果你下载了某个第三方源码之后,编译的时候出现了缺少各种各样文件的错误,并且在工程的根目录下发现了Podfile、Podfile.lock和Pod这些文件,那就说明那些缺少的文件你没有更新下来。
解决办法:打开终端进入与Podfile同级的目录,执行"pod update"命令。
四、其他注意
1、关于.gitignore与Podfile.lock
当执行完pod install,除了生成Podfile,还生成一个Podfile.lock文件。Podfile.lock会锁定当前各依赖库的版本,之后执行pod update都会对Podfile.lock做修改。
所以不能把Podfile.lock加入.gitignore文件中。
2、cocoaPods的原理
cocoaPods将所有依赖库都放着到一个名为Pods的项目中,让主项目依赖Pods项目,从而将源码管理工作从主项目中移到了Pods项目中。
A.Pods项目最终编译成一个名为libPods.a的文件,主项目依赖这个.a文件。
B.Pods里面有一个名为Pods-resource.sh的bash脚本,每次项目编译的时候都会执行,将第三方的各种资源文件复制到目标目录中。
C.Pods中的.xcconfig文件是用来在编译时设置依赖和参数的。