标签:
一、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的那个project文件夹(与project文件.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的命令。
这个时候。在你的project文件.xcodeproj的同等级文件夹上会生成一个podfile文件
(3)运行“pod install”命令,将SDWebImage下载到project里,而且设置好了编译參数和依赖。
(4)从此以后,使用*.xcworkspace文件来打开project,而不是曾经的*.xcodeproj。
每次更改了Podfile文件,都须要又一次运行一次"pod update"命令。"pod update"默认会更新到第三方的最新版本号。假设不想更新到最新版本号,使用"pod update --no-repo-update"命令。
2、利用cocoaPods下载第三方类库所须要的其它库
假设你下载了某个第三方源代码之后,编译的时候出现了缺少各种各样文件的错误,而且在project的根文件夹下发现了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文件是用来在编译时设置依赖和參数的。
标签:
原文地址:http://www.cnblogs.com/mengfanrong/p/5058037.html