增加cocoapods文章

This commit is contained in:
luke
2013-06-23 21:35:45 +08:00
parent 946855171e
commit b210107071
2 changed files with 80 additions and 1 deletions
+2 -1
View File
@@ -1 +1,2 @@
_site
_site
.DS_Store
+78
View File
@@ -0,0 +1,78 @@
---
layout: post
title: Cocoapods 101
categories:
- Programming
tags:
- Mac
- iOS
- ruby
---
<img width="140" height="140" src="http://ww1.sinaimg.cn/bmiddle/65cc0af7jw1e5wzbyfdkgj20bo0bogm8.jpg"/>
###一.cocoapods介绍
在开发iOS的程序的时候,经常会用到第三方的库,一般的做法就是直接将其源码拷贝到自己的项目中,或者将其静态库拷贝到项目中进行使用。当这个三方库的版本更新了,还需要重新进行拷贝复制,非常不方便,且库与库之间的依赖也不好管理,cocoapods的出现便是解决这一问题的。cocoapods是一个ruby实现的objc三方库依赖管理工具,可以看得出,cocoapods在很多地方借鉴了ruby的包管理工具gem。
每一个三方库的版本在cocoapods中叫做一个pod,每一个pod对应一个描述文件,这个描述文件叫做podspec文件,其中描述了这个pod的名称,版本,许可证,主页,作者,源码库位置,平台,所依赖的其他三方库以及系统的framework,是否arc等信息。cocoapods官方默认支持的所有podspec都放在github上,地址为 [https://github.com/CocoaPods/Specs](https://github.com/CocoaPods/Specs),你也可以加入自定义的podspec库,以引入官方库中没有的podspec,添加自定义podspec库的方式为
$ pod repo add <repo name> <git repo url>
执行上条命令之后,pod便会将自定义的库clone到 `~/.cocoapods/<repo name>`
###二.cocoapods安装
cocoapods是使用ruby写的,可以通过gem进行安装,所以第一步你需要整好自己的ruby环境,安装cocoapods。在Mac上系统默认已经安装了ruby,不过版本比较老了,所以在实际使用中还是会自己安装ruby的。而且为了方便日后切换ruby的版本,一般会通过ruby的管理工具进行ruby的安装,很多人喜欢使用RVM,而我更喜欢轻量级的rbenv,首先得安装好XCode及其命令行工具,这样就准备好了Mac上的编译环境。
然后安装rbenv,其实就是讲rbenv的库clone到本地,以及相应的插件
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
git clone git://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
假设你命令行使用了zsh,如果没有使用则推荐你使用,讲rbenv的path加入到环境变量中
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> $HOME/.zshrc
echo 'eval "$(rbenv init -)"' >> $HOME/.zshrc
准备好rbenv后,则准备安装ruby版本,
rbenv install 2.0.0-p195
rbenv global 2.0.0-p195
安装好ruby后,准备安装cocoapods,首先重新设置gem的源地址,因为国外的源地址速度太慢,我们使用淘宝的镜像源
gem sources -a http://ruby.taobao.org/
gem sources -l #查看现在所有的源地址
gem sources --remove http://rubygems.org/ #移除默认的源地址
gem install cocoapods #安装cocoapods
### 三.cocoapods使用
####1.创建一个项目,比如创建一个名为podtest的项目
####2.在项目的根目录中创建一个名为'Podfile'的文件,在此文件中加入相应的设置
platform :ios, '5.0'
pod 'AFNetworking'
####3.在项目根目录中运行`pod install`,得到如下输出
➔ pod install
Setting up CocoaPods master repo
CocoaPods 0.21.0.rc1 is available.
Setup completed (read-only access)
Analyzing dependencies
CocoaPods 0.21.0.rc1 is available.
Downloading dependencies
Installing AFNetworking (1.3.1)
Generating Pods project
Integrating client project
[!] From now on use `podtest.xcworkspace`.
这个时候在你的home目录中多了一个.cocoapods的目录,且此目录下有一个master的目录,这里便是自动clone出来的官方的podspec库。
####4.这个时候已经生成了一个XCode的workspace文件,你可以打开workspace
你会发现cocoapods会将所有的三方库放在一个单独的名为Pods的项目中进行维护,这个Pods的项目将所有的三方库打包成一个单独的静态库,供主项目使用,至于三方库的资源文件,则提供了一个拷贝脚本,供主项目使用`Pods-resources.sh`