mirror of
https://gh-proxy.org/https://github.com/klinsmaya/dashjim.github.com.git
synced 2026-11-08 01:16:54 +08:00
增加cocoapods文章
This commit is contained in:
+2
-1
@@ -1 +1,2 @@
|
||||
_site
|
||||
_site
|
||||
.DS_Store
|
||||
|
||||
@@ -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`
|
||||
Reference in New Issue
Block a user