iOS开发

CocoaPods学习

2017-12-15  本文已影响41人  SunshineBrother

网上有很多介绍CocoaPods的文章,最近感觉因为只是会简单的使用,有点不符合我们程序员的性格,所以准备仔细了解一下,有错误的地方请及时提出

开篇我首先先来简单的讲解一下CocoaPods的运行过程

CocoaPods 的安装 使用 升级

CocoaPods应该是iOS最常用最有名的类库管理工具了,CocoaPods项目的源码 在 Github 上管理。该项目开始于 2011 年 8 月 12 日,经过多年发展,现在已经成为 iOS 开发事实上的依赖管理标准工具。

CocoaPods的好处
安装

安装方式异常简单 , Mac 下都自带 ruby,使用 ruby 的 gem 命令即可下载安装

$ sudo gem install cocoapods
$ pod setup   

如果你的 gem 太老,可能也会有问题,可以尝试用如下命令升级 gem:

sudo gem update --system

另外,ruby 的软件源https://rubygems.org 因为使用的是亚马逊的云服务,所以被墙了,需要更新一下 ruby 的源,使用如下代码将官方的 ruby 源替换成国内淘宝的源

gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
gem sources -l

还有一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度

安装具体步骤

我们可以在这里面查看有多少个文件夹

利用shadowsocks的socks5代理,配置好后明显加速。用下面两条命令配置好后,保持shadowsocks客户端开启就行了

//shadowsocks的本地端口默认是1080
git config --global http.proxy 'socks5://127.0.0.1:1080' 
git config --global https.proxy 'socks5://127.0.0.1:1080'

然后用下面这种直接clone的方式能够看到进度

cd ~/.cocoapods/repos
git clone https://github.com/CocoaPods/Specs.git
这里有一篇文章写的也是比较详细的,大家可以参考一下iOS安装CocoaPods详细过程

1、Ruby环境

Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言,是一种脚本语言,我们执行的CocoaPods的各种命令,其实就是执行Ruby的脚本语言

CocoaPods,在每一个工程使用 CocoaPods 的工程中都有一个 Podfile:

source 'https://github.com/CocoaPods/Specs.git'
target 'Demo' do
pod 'SDWebImage'
end

因为这里的 source、platform、target 以及 pod 都是方法,都是在执行Ruby脚本,转化成Ruby脚本代码是

# eval_pod.rb
$hash_value = {}

def source(url)
end

def target(target)
end

def platform(platform, version)
end

def pod(pod)
end

我们执行的各种CocoaPods命令,都是在执行的Ruby脚本

我们在执行pod install的过程就是Ruby脚本Podfile 的内容 转化成一个 Podfile 类的实例的过程

参考:CocoaPods 都做了什么?

解释一些概念

上一篇 下一篇

猜你喜欢

热点阅读