转载 开源框架:CocoaPods
引言:
CocoaPods是一个可以帮你集中管理第三方库的开源项目,运行在Ruby的环境下,基于GitHub托管优势,你可以很方便的查阅目前依赖于CocoaPods的资源.
并且,CocoaPods是可靠,稳定,安全的.可以为你在使用第三方库资源时节省大部分的配置和部署时间.更专心的专注于Coding!
部署的环境:
硬件:Retina Macbook Pro
软件:OS X Mountain Lion 10.8.2
Ruby版本:1.9.3-p385
参考文章:
1:如何安装Ruby(如果打不开请使用百度快照)
http://www.zikercn.com/node/41
2:如何使用CocoaPods
http://blog.devtang.com/blog/2012/12/02/use-cocoapod-to-manage-ios-lib-dependency/
3:Ruby中国针对2.0.0发布帖子:
http://ruby-china.org/topics/8896
4:如果安装失败,请参考下面两贴
http://stackoverflow.com/questions/9626729/how-do-you-install-build-ruby-1-9-3-on-osx-lion
http://stackoverflow.com/questions/14592945/cannot-compile-ruby-1-9-3/14594287#14594287
第一步:安装RVM
命令:
curl -L get.rvm.io | bash -s stable
成功以后继续执行如下:
命令: source ~/.bashrc
命令: source ~/.bash_profile
然后查看rvm的版本:
命令:
rvm -v
第二步开始安装Ruby:
在执行以下所有命令之前请确保你已经安装了Xcode. 否则将无法成功.
安装前检查可安装的Ruby版本:
命令:rvm list known
正常情况执行后,可以看到所有Ruby的版本,这里安装指定的版本:
在执行下面两个命令之前先,删除残留的Ruby版本:rvm remove 1.8.7
命令:export CC=gcc
命令:rvm install 1.9.3-p385
如果以上命令安装失败,就关掉中断,直接执行第二行,失败了以后再来一次.
目前Ruby最新的版本是2.0 但是在我本机上面屡次安装失败. 但是使用CocoPods并不需要很高级的Ruby版本.
我在安装 1.9.3-p385中 顺利完成.
如果安装速度太慢可以使用淘宝提供一个加速链接来更新Ruby
成功以后设置默认使用的Ruby版本
命令:rvm use 1.9.3-p385 --default
不出意外就安装成功了.安装成功以后通过如下命令查看已经安装的Ruby版本:
命令:rvm list
检查一下Ruby当前使用的版本:
命令:ruby -v
检查一下Gem:
命令:gem -v
第三步,安装CocoaPods
接下来开始安装CocoaPods.在安装之前,还需要将XCode里的Command line工具安装好.如下图所示:
安装成功后以后回到Shell,输入如下命令:
命令:sudo gem install cocoapods
命令:pod setup
pod setup命令执行后原理是将Spec项目复制到当前用户的.cocoapods\master目录下,以后的查找、安装使用都是基于该本地目录的.
安装成功后,就可以尝试使用了,以后更新新版本的Spec项目只需要再次执行pod setup即可
使用Search命令来看看你需要的第三方库是否存在!
命令:pod search SDWebImage
到此,CocoaPods的安装就完成了.
第四步,使用CocoaPods
接下来,你需要建立一个主工程.建立成功以后,再次启动终端, 利用cd命令进入到工程文件夹内,此时需要创建一个特殊的文本文件,命令如下:
命令: touch Podfile 创建
命令: open -e Podfile 打开
此时,Mac应该是自动打开记事本. 接下来就开始加入我们要使用的库了.
编制格式可以参考CocoaPods的官方文档
示例:
platform :ios,5.0pod 'SDWebImage'
上面的代码中:指定了平台最低支持的版本
pod通过Search查到的库 如果没有指定版本号,那么配置出来的版本是最新版.
对这个文本文件保存以后,执行如下命令:
命令:pod install
在每次执行前请确保终端所处于的文件夹目录已经是当前目录. 否则将安装失败.
另外本次成功安装以后,如果 SDWebImage 的作者更新了它的库并提交到了CocoaPods里面,此时我们也想在项目中使用新版本的SDWebImage. 这个时候需要执行如下命令:
命令:pod update
和pod install命令一样 需要将终端所处于的文件夹目录是当前Podfile文件所在的目录
执行后,CocoaPods首次会创建一个同工程名的工作空间(xcworkspace). 以后就打开这个工作空间来进行接下来的开发工作.
这里也证明了一点,以后新项目启动时,应该先配置和部署CocoaPods.
另外,如果指定了某个开源库的版本号,此时pod update 会忽略版本号, 所以需要使用pod install来安装指定的版本
Date:2013-05-13 23:24:47
今天用CocaPods的 pod install 命令时 出现如下错误:
The `master` repo requires CocoaPods 0.18.1
解决办法见此贴.
总结:
CocoaPods的部署与配置还是较为繁琐的,博文流程中记录的每一天都要去执行.不然都有可能产生失败.
题外话:
关于Spec
简单的说,Spec就是每个包在CocoaPods中的配置文件,其中包括Package的名字,版本号,每个版本对应的下载地址,编译时的参数等等。
这是该项目的地址:https://github.com/CocoaPods/Specs
在页面上有介绍如何创新新的包,可以Fork该项目,然后通过pull request提交所建的新包。
附上一篇详细的教程
http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/
关于生成代码文档
详细见我的另外一篇教程:
http://blog.csdn.net/ysy441088327/article/details/7661785