Elvison

IOS开发、Nodejs开发

~你的认知束缚你的行动~


CocoaPods使用心得

简介:

 本章介绍什么是 CocoaPods ,如何使用 CocoaPods , 以及 CocoaPods 的原理,和使用 CocoaPods 时经常出现的一些问题。

 Cocoapods 是 OS X 和 iOS 下的一个第三方库管理工具。我们能使用CocoaPods添加被称作 “Pods”的依赖库,并轻松管理它们的版本,CocoaPods会帮我们配置好这些三方库的路径及开发环境,极大的提升了开发者的工作效率。

安装CocoaPods 

 Mac下自带ruby,使用ruby的gem命令安装,ruby的软件源被墙了,把官方的ruby源替换成国内的淘宝源。

更换Gem源

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
  • 1.移除掉原有的源(服务器在国外,速度较慢)。
  • 2.等1有反应之后再敲2命令(替换成淘宝上的ruby镜像https)。
  • 3.验证是否成功。成功如下:

*** CURRENT SOURCES ***

http://ruby.taobao.org/

更新Gem源


sudo gem update --system

安装cocoapods


$ sudo gem install cocoapods
$ pod setup

pod setup 在执行时会比较慢,因为Cocoapods 要将它的信息下载到 ~/.cocoapods目录下, 耐心等待…

提升cocoapods的安装速度

所有的项目的 Podspec 文件都托管在https://github.com/CocoaPods/Specs。第一次执行 pod setup 时,CocoaPods 会将这些podspec索引文件更新到本地的 ~/.cocoapods/目录下,这个索引文件比较大,有 80M 左右。 作者akinliu 在 gitcafe 和 oschina 上建立了 CocoaPods 索引库的镜像(在国内),我们可以使用CocoaPods国内的镜像索引,操作时会快多了,如gitcafe:


pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update

使用cocoapods

cocoapods安装完成后,使用 pod search 命令来验证一下


pod search AFNetworking


终端将会有如下结果:


-> AFNetworking (3.0.4)
A delightful iOS and OS X networking framework.
pod 'AFNetworking', '~> 3.0.4'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source:   https://github.com/AFNetworking/AFNetworking.git
- Versions: 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3, 3.0.0-beta.2,
3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0,
2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3,
2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2,
1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,
0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Subspecs:
- AFNetworking/Serialization (3.0.4)
- AFNetworking/Security (3.0.4)
- AFNetworking/Reachability (3.0.4)
- AFNetworking/NSURLSession (3.0.4)
- AFNetworking/UIKit (3.0.4)


-> AFNetworking+AutoRetry (0.0.5)
Auto Retries for AFNetworking requests
pod 'AFNetworking+AutoRetry', '~> 0.0.5'
- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry
- Source:   https://github.com/shaioz/AFNetworking-AutoRetry.git
- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]

.........太多了,省略

pod search 是CocoaPods的一个搜索命令,我们可以用来搜索任何托管在CocoaPods上的三方库。

使用CocoaPods时需要新建一个 Podfile 的文件,cd 到 我的Demo项目里,Demo目录下有三个文件


Demo 、  Demo.xcodeproj  、 DemoTests

新建 Podfile


touch Podfile

vim 编辑 Podfile

vim Podfile

由于是新建的 Podfile 里面应该是空白的。然后我们在里面添加依赖库,格式如下:


platform :ios
pod 'Reachability',  '~> 3.0.0'
pod 'ASIHTTPRequest'

‘~> 3.0.0’ 是 Reachability 的版本号, 设定了版本号CocoaPods就会下载对应的版本,ASIHTTPRequest没指定版本号,CocoaPods就会下载最新版本的ASIHTTPRequest。 退出编辑,执行 pod install 下载三方库。


pod install

完成后我Demo项目下的文件多了几个:

Demo 、  Demo.xcodeproj  、 DemoTests (之前的三个)

Demo.xcworkspace 、Podfile 、Podfile.lock 、Pods

这个时候我们打开Demo项目是点击 Demo.xcworkspace 文件了,到此CocoaPods的基本使用已经讲完了,接下来的CocoaPods的原理,和让我们自己的三方库也支持CocoaPods。

待续…

深入理解 CocoaPods


打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦