iOS中的CocoaPods用法及常用命令

 CocoaPods是什么?

***CocoaPods的使用场景:***

1. 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之意思就是,手动一个个去下载所需类库十分麻烦。还有就是这些库可能还要在编译设置中添加许多设置,也很麻烦。
2. 你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。

> 如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。CocoaPods来了......
>
> Cocoapods应该是iOS最常用最有名的第三方类库管理工具,上述两个烦人的问题,通过Cocoapods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。

[Cocoapods官网在这里](https://cocoapods.org/)

 Ruby环境搭建

1、Ruby环境搭建
A、查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)


B、更新ruby 终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)

查看当前使用镜像

`gem sources -l  用来检查当前使用哪个镜像 是否替换镜像位置成功`

替换源:
`gem sources --remove https://rubygems.org/` 
结果:https://rubygems.org/  removed from sources

添加源:`gem sources -a http://rubygems-china.oss.aliyuncs.com `   
稍等...
结果:http://rubygems-china.oss.aliyuncs.com added to sources

查看是否替换镜像位置成功

`gem sources -l  用来检查当前使用哪个镜像 `

 下载安装CocoaPods

   安装

1. 终端输入:`sudo gem install -n /usr/local/bin cocoapods`  如果出现错误,详见错误2,解决后输入以上命令
2. 输入密码:(注意:在终端中输入密码是不显示的)
3. 输入完密码 稍等…开始下载  结果:xx gems installed表示完成
4. 终端输入:`pod setup`
5. pod setup在执行时,会输出Setting up cocoapods master repo,但是会等待比较久的时间。这步其实是cocoapods在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着cd到那个目录,用du -sh *来查看下载进度。 如果无法忍受龟速,你也可以参考本文底部的备注中使用cocoapods的镜像索引的内容来提高下载速度。

等待.........时间有点长
结果:setup completed

> 显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
>
> 隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false

  错误

1. 错误:

   如果终端输出错误信息包含`xcodebuild`或`xcode-select`类似错误

   解决:

   在`Xcode`的`偏好设置`中选择`Location`—`Command Line Tool`中选择一个Xcode版本

2. 错误:

   ```
   ERROR:  Error installing cocoapods:
   activesupport requires Ruby version >= 2.2.2.
   ```

   解决:

   对于 `ruby` 版本需要在2.0.0以上的  有两次解决方法:

   1. 下载低版本的cocoapods  : sudo gem install activesupport -v 4.2.6
   2. 更新ruby版本 把ruby版本更新到 2.3.0  详情看http://blog.csdn.net/lissdy/article/details/9191351

3. 断网

 ```
   MacdeMacBook-Pro:~ mac$ pod setup
   Setting up CocoaPods master repo
   [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
   Cloning into 'master'...
   error: RPC failed; result=18, HTTP code = 200
   fatal: The remote end hung up unexpectedly
 ```

   ```
   MacdeMacBook-Pro:~ mac$ pod setup
   Setting up CocoaPods master repo
   [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
   Cloning into 'master'...
   fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': Could not resolve host: github.com
   ```

 如何使用CocoaPods?

 使用CocoaPods 在项目中导入FMDB类库

FMDB类库在GitHub地址是:[https://github.com/ccgus/fmdb](https://github.com/ccgus/fmdb)
为了确定FMDB是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:
`$ pod search FMDB`
输出一大串…
这说明,FMDB是支持CocoaPods

A:
用Xcode创建一个名字CocoaPodsDemo的项目

B:
然后终端输入命令 锁定到项目根目录 也就是跟.xcodeproj文件同一级目录
`cd /Desktop/CocoaPodsDemo` 
cd+空格+后面跟你的项目的路径

cd是切换目录的意思    ls列举出当前目录所有文件夹

C:
创建Podfile文件  终端输入:
`pod init`

此命令创建Podfile文件 文件中的格式已经弄好

D:
打开Podfile文件并输入 有两种办法
1、进入工程目录文件夹,找到podfile,使用Xcode打开,编辑完保存退出,注意不要使用文本编辑打开
2、使用vim编辑器操作:在终端中输入`vi podfile`。此时文件打开 此时是vi命令模式,输入 `i` 进入编辑模式此时可以编辑内容,编辑完成后在编辑状态下按ESC键,回退到命令模式,输入:wq

输入的文字可以根据github上项目页面上的指引写
pod ‘FMDB’, ‘~>2.0’

E:
安装 终端输入:
pod install

F:
以后再打开工程使用xxxxx.xcworkspace打开工程
open <YourProjectName>.xcworkspace

 使用Cocoapods更新工程中的库

使用`pod update`更新项目中的类库


[Cocoapods的卸载](http://www.jianshu.com/p/8b61b421dd76)

[Cocoapods的降级](http://www.jianshu.com/p/e6ded86c286d)

[深入理解Cocoapods](https://objccn.io/issue-6-4/)

# 其他Tips

[关于CocoaPods中的版本管理](http://www.samirchen.com/about-podfile-lock/)

Tip1:
使用cocoapods后import不提示
选择target(就是左边你的工程target)—— BuildSettings —— search Paths 下的 User Header Search Paths,点击“+”号添加一项:并且输入:“$(PODS_ROOT)”(没有引号),选择:recursive(会在相应的目录递归搜索文件)

Tip2:
执行pod install和pod update会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

posted on 2016-12-24 20:53  调学者  阅读(266)  评论(0)    收藏  举报

导航