为什么要使用CocoaPods?
在现在快节奏的开发中,项目不可避免的要使用许多三方库,而维护和添加这些三方库是很费时间而且没有技术含量,使用CocoaPods可以避免手动添加这些还可能重复的烦人静态库,无需再设置-info-objc-arc等编译参数...
Cocoapods会新建一个pods工程来管理这些三方库,最终pods工程会编译成一个.a的静态库,供主项目去依赖,Swift工程的话会编译成.frameWorks的动态库。
如何安装和CocoaPods?
黑苹果我没有尝试过,Mac 上安装倒是很简单,打开终端 用自带Ruby的命令即可完成。
So, let's begin
如果你的gem太老最好更新一下,然而我的16款pro 10.12的出厂系统,gem似乎也缺少东西,安装的时候也是需要更新了 (使用sudo 获取权限的时候输入密码,是没有反馈的 你只管输完按回车就好了...)
- 1.更新gem (建议闲暇的时候更新下,在此期间可能很多三方库都有更新)
sudo gem update --system
由于Ruby的软件源使用亚马逊的云服务,被我天朝墙了,我们只能用淘宝的Ruby工程师架设的国内版,所以需要切换下数据源
- 2.切换cocoapods的数据源
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
- 3.查看数据源是否切换成ruby.taobao.org
gem sources -l
- 4.安装cocoapods
sudo gem install cocoapods
(10.11及以上系统用这个)sudo gem install -n /usr/local/bin cocoapods
切换Podspec文件的托管地址 , 如果你连接git hub的速度可以忍受或者长期挂VPN无所谓,5、6、7步可以跳过
- 5.移除默认的git hub地址
pod repo remove master
- 6.切换成国内的 (以下二选一即可)
pod repo add master http://git.oschina.net/akuandev/Specs.git
pod repo add master https://gitcafe.com/akuandev/Specs.git
- 7.切换完成后最好更新一下
pod repo update
设置仓库大概需要下载200多mb的Podspec文件,这里八仙过海,各凭网速了,最好不要中断,如果你觉得慢的让你发指你可以像我一样,去喝个茶,吹了会牛逼回来完成了...
- 8.设置仓库
pod setup
测试下是否安装成功,如果有版本号那么恭喜你
- 9.查看版本
pod --version
如何使用CocoaPods?
大功告成,让我们开始利用cocoapods来安装第三方框架
cd进入要安装框架的项目的.xcodeproj同级文件夹
在该文件夹中新建一个文本文件Podfile(
- 方法1 touch Podfile创建一个名为Podfile文件
- 方法2 pod init (自动创建Podfile文件)
- 在Podfile文件中描述需要安装的框架信息
用来设置所有第三方库所支持的iOS最低版本
platform :ios, '7.0'
设置框架的名称和版本号
pod 'SDWebImage','~>2.6'
- 在新版本的CocoaPods中,Podfile文件中的描述,你必须指定target工程
platform :ios, ‘8.0’
target ‘JKSDoctor’ do
pod 'SDWebImage', '~>3.8’
pod 'SVProgressHUD’
pod 'Masonry’
pod 'AFNetworking', '~> 3.0’
pod 'MJRefresh'
end
写完后,记得Cmmand+s保存一下,然后去安装。
- 安装 (如果需要检查pod是否要更新 可以去掉--no-repo-update)
pod install --no-repo-update
- 更新
pod update --no-repo-update
其他说明
版本号:
'>1.0' 可以安装任何高于1.0的版本
'>=1.0' 可以安装任何高于或等于1.0的版本
'<1.0' 任何低于1.0的版本
'<=1.0' 任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相当于不指定版本,默认采用最新版本号
执行pod install命令后的大致过程:
1. 分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
2.根据分析的依赖结果,下载指定版本的类库到本地项目中。
3. 创建一个Pods项目专门用来编译和管理第三方框架,将所需的框架,库等内容添加到项目中,进行相应的配置。
4.将Pods和原始项目整合到一个工作空间中,并且进行文件链接。
如果某个地方有问题,多尝试几次就好了~
网友评论