从零开始学习CocoaPods安装和使用

 
            http://m.ithao123.cn/content-9745764.html
 
 

CocoaPods是什么?

当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。

CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。

iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。

如何下载和安装CocoaPods?

由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:

注意:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby语言编译环境。(有关Ruby语言的简介见百度百科

1、Ruby环境搭建

值得庆幸的是,苹果的Mac OS X系统自带了ruby语言环境的(Python也自带了),在Mac终端输入 ruby -v 命令可以查看当前ruby版本。

Mac OS本身自带Ruby可能比较老旧,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下安装CocoaPods就失败了。

a 查看下当前ruby版本:

打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)。终端显示如下:

  1. ritekiMac-mini:PodTest lucky$ ruby -v
  2. ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
  3. ritekiMac-mini:PodTest lucky$

b 更新ruby:

终端输入如下命令(把Ruby镜像指向taobao提供的Ruby镜像地址,避免被墙,你懂得)

gem sources --remove https://rubygems.org/ 
gem sources -a https://ruby.taobao.org/            (注意淘宝已更新使用https了)
gem sources -l              (用来检查淘宝提供的Ruby镜像地址是否设置成功)

  1. ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/
  2. https://rubygems.org/ removed from sources
  3. ritekiMac-mini:~ lucky$ gem sources -a http://ruby.taobao.org/
  4. http://ruby.taobao.org/ added to sources
  5. ritekiMac-mini:~ lucky$ gem sources -l
  6. *** CURRENT SOURCES ***
  7. https://ruby.taobao.org/

2、下载安装CocoaPods

完成第一步Ruby环境配置后,接着在Mac终端输入: sudo gem install cocoapods  等待几秒钟,期间可能会提示你输入电脑的管理员密码,这个可以理解,用过Mac系统的都知道,在安装应用软件之前,都会提示你输入管理员密码的!

  1. ritekiMac-mini:~ lucky$ sudo gem install cocoapods
  2. CHANGELOG:
  3. ## 0.32.1
  4. ##### Bug Fixes
  5. * Fixed the Podfile `default_subspec` attribute in nested subspecs.
  6. [Fabio Pelosin][irrationalfab]
  7. \ [#2050](https://github.com/CocoaPods/CocoaPods/issues/2050)
  8. Successfully installed cocoapods-0.32.1
  9. Installing ri documentation for cocoapods-0.32.1
  10. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block
  11. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block
  12. Done installing documentation for cocoapods after 10 seconds
  13. 1 gem installed

这样就下载安装好了CocoaPods,看到这里,你心里会不会说,我靠!太爽了,这么容易就可以下载并且安装好了!是的,我也是这么想的。CocoPods就是这么简单,使用也十分简单。继续往下看吧。

3、使用CocoaPods

a.  使用Xcode在桌面上新建一个项目,名字PodTest

b.  在终端中,cd到项目总目录cd /Users/lucky/Desktop/PodTest(注意:一定是包含PodTest文件夹、PodTest.xcodeproj的那个总目录)

c.  建立Podfile配置文件: 在终端输入 touch Podfile  回车 (使用 vim Podfile也可以创建)

d.  编辑Podfile配置文件: 在终端输入 vim Podfile  回车
e.  进入vim编辑界面后,首先输入 i,才能进入编辑模式,然后输入如下代码:

  platform :ios, '6.0' 
  pod 'MBProgressHUD', '~> 0.9.2'

  注意,这段文字不是凭空生成的,可以在MBProgressHUD的github页面找到。这两句文字的意思是,当前AFNetworking支持的iOS最低版本是iOS 6.0, 要下载的MBProgressHUD版本是0.9.2

  然后按Esc,并且输入 : 号,进入vim命令模式,然后在 : 后边输入wq后回车,终端就会保存并退出vim编辑器。

f. 打开PodTest项目,发现总目录中多一个Podfile文件

g.  激动人心的时刻到了:

在终端 cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。

h. 现在打开项目PodTest根目录文件夹,点击 PodTest.xcworkspace打开项目,注意上面终端中提示的那句话

From now on use `PodTest.xcworkspace`.  所以再也不要点击 PodTest.xodeproj打开项目了:

i. 打开项目后看到如下项目结构,试着导入头文件测试一下:

运行结果如下:

4. 补充知识:

1、如果需要同时导入多个第三方库文件时该怎么操作呢 ?

  这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。

  例如:

  platform :ios

  pod 'JSONKit', '~> 1.4'

  pod 'AFNetworking', '~> 2.0'

2、如果不知道即将导入库文件的版本,此时可以利用CocoaPods的搜索功能去查找,也可以直接去gitHub上搜索该第三方库。

  CocoaPods的搜索:打开终端输入命令:pod search MBProgressHUD   界面如下:

  

最新文章

  1. win10更新系统后wifi连接不上了怎么解决?
  2. Android ThreadUtil 线程公共类,判断是否在主线程/ 子线程执行 相关操作
  3. 如何拥有一个自己的Vagrant box
  4. 如何从github上面拷贝源码
  5. u-boot 编译时间
  6. Java连接Oracle
  7. Ubuntu 常用软件安装方法
  8. 简单3d RPG游戏 之 002 生命条(二)
  9. UVa 10256 凸包简单应用
  10. 配置一个servlet程序
  11. 安装Linux_[CentOS]系统
  12. 【HDU】5256 系列转换(上涨时间最长的序列修饰)
  13. Oracle sql优化之分析函数优化标量子查询
  14. ABP增删改查代码片段
  15. Java简单实现UDP和TCP
  16. AES对称加密
  17. Day11作业及默写
  18. 数位DP模板详解
  19. JavaScript正则表达式匹配中英文以及常用标点符号白名单写法
  20. bzoj 1875: [SDOI2009]HH去散步 -- 矩阵乘法

热门文章

  1. 卸载或安装程序出现:The feature you are trying to use is on a network resource ...
  2. centos自带python2.6升级到python2.7。并解决yum pip easy_install pip等模块兼容性问题
  3. 通过mysql自动同步redis
  4. xampp 中 mysql的相关配置
  5. JavaScript实现邮箱后缀提示功能
  6. 判断sql是否存在特定的对象
  7. Luogu3403: 跳楼机
  8. hdu 1159 Common Subsequence(最长公共子序列)
  9. GreenDao 初体验
  10. mybatis ${}使用注意事项