引言:
CocoaPods是一个可以帮你集中管理第三方库的开源项目,运行在Ruby的环境下,基于GitHub托管优势,你可以很方便的查阅目前依赖于CocoaPods的资源.
并且,CocoaPods是可靠,稳定,安全的.可以为你在使用第三方库资源时节省大部分的配置和部署时间.更专心的专注于Coding!
部署的环境:
硬件:Retina Macbook Pro
软件:OS X Mountain Lion 10.10.1
Ruby版本:2.2.0
参考文章:
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
5:Use CocoaPods With Swift (在 Swift 中使用 CocoaPods)
http://andelf.github.io/blog/2014/06/23/use-cocoapods-with-swift/
第一步:安装Brew
详细步骤和介绍请参阅我的另一篇博客:
第二步:更新Ruby:
通过Brew将Ruby更新到最新版本,OS X 已经自带了Ruby不过版本偏低.
brew install ruby
更新成功以后重启终端,并执行以下命令来检查一下Ruby和gem当前使用的版本:
第三步:通过gem安装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.0 pod 'SDWebImage'
上面的代码中:指定了平台最低支持的版本
pod通过Search查到的库 如果没有指定版本号,那么配置出来的版本是最新版.
对这个文本文件保存以后,执行如下命令:
命令:pod install
在每次执行前请确保终端所处于的文件夹目录已经是当前目录. 否则将安装失败.
另外本次成功安装以后,如果 SDWebImage 的作者更新了它的库并提交到了CocoaPods里面,此时我们也想在项目中使用新版本的SDWebImage. 这个时候需要执行如下命令:
命令:pod update
和pod install命令一样 需要将终端所处于的文件夹目录是当前Podfile文件所在的目录
执行后,CocoaPods首次会创建一个同工程名的工作空间(xcworkspace). 以后就打开这个工作空间来进行接下来的开发工作.
这里也证明了一点,以后新项目启动时,应该先配置和部署CocoaPods.
另外,如果指定了某个开源库的版本号,此时pod update 会忽略版本号, 所以需要使用pod install来安装指定的版本
总结:
CocoaPods的部署与配置还是较为繁琐的,博文流程中记录的每一天都要去执行.不然都有可能产生失败.
可能遇到的问题:
Date:2013-05-13 23:24:47
今天用CocaPods的 pod install 命令时 出现如下错误:
The `master` repo requires CocoaPods 0.18.1
解决办法见此贴.
今天用CocoaPods的pod update命令时 出现如下错误:
CocoaPods官方团队对于此问题,专门写了一篇文章来解决这个问题.
http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/
Date:2014-03-13 12:33:46
今天用CocoaPods的pod update命令时 出现如下错误:
The `master` repo requires CocoaPods 0.29.0
解决方案:
更新Gem,在终端输入如下命令:
sudo gem update cocoapods参考:
http://www.cnblogs.com/so-magic/p/3580100.html
Date:2014-04-14 21:47:08
今天在编译真机版本调试时遇到了关于64位架构编译不过去的问题.
参考以下资料解决问题:
http://stackoverflow.com/questions/18881986/integration-error-with-cocoapods-and-xcode5
http://cameronspickert.com/2014/01/20/remove-the-arm64-architecture-from-cocoapods-targets.html
题外话:
关于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