CocoaPods的使用與導入

現在好多的顯目都用的 CocoaPods來管理自己的三方庫。所以最近也來搞一下這個CocoaPods 的具體使用方式。

  1. CocoaPods的官網,可以了解一下
    https://guides.cocoapods.org

2.什么是CocoaPods?
CocoaPods是OS X和iOS下的一个第三方开源类库管理工具,通过CocoaPods工具我们可以为项目添加被称 为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

CocoaPods项目的源码 在 Github 上管理。该项目开始于 2011 年 8 月 12 日,经过多年发展,现在已经成为 iOS 开发事实上的依赖管理标准工具。

3.CocoaPods出现的背景
开发 iOS 项目不可避免地要使用第三方开源库,在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要

①、把开源库的源代码复制到项目中。

②、添加一些依赖框架和动态库。

③、设置-ObjC,-fno-objc-arc等参数。

④、管理他们的更新

4.在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install就可以了,Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。

5.使用CocoaPods的好处
①、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。

②、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

6.CocoaPods的原理
CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。

首先進入安裝吧

1、首先看你電腦上有沒有安裝rvm(一般的話Mac都會自帶的)

$ rvm -v

如果安裝的話會出現rvm的版本
2、安裝Ruby環境
1.先到Ruby的官網上下載源碼: https://www.ruby-lang.org/en/downloads/,然後解壓
2.cd(直接拖到終端) 到解壓的目錄下執行

$ ./configure

3.執行

$ make

4.再執行

$ make install

5.執行

$ buby -v

2、通過rvm升級Ruby
1.安裝rvm(RVM:Ruby Version Manager, Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset))

$ curl -L get.rvm.io | bash -s stable

2.加載文件看是否安裝成功

$ source ~/.bashrc

$ source ~/.bash_profile

$ source ~/.profile

$ rvm -v

會出現這樣的版本號

屏幕快照 2017-08-19 14.57.35.png

3.獲取rvm列表

$ rvm list known
CocoaPods的使用與導入_第1张图片
屏幕快照 2017-08-19 14.58.58.png

4.安裝Ruby2.4 看列表最後一格版本

$ rvm install 2.4

如果期間安裝出現錯誤的話可能是由於沒有安裝Homebrew
①.安裝Homebrew

$ ruby -e "$(curl -fsSL hhtps://raw.githubusercontent.com/Homebrew/install/master/install)"
安装完Homebrew,重新安装ruby
$ rvm install 2.4

2、設置Ruby的軟件源

$ gem sources -l #(查看当前ruby的源)

$ gem sources --remove[https://rubygems.org/](https://rubygems.org/) #(移除当前ruby的源)

$ gem sources -a[https://gems.ruby-china.org/](https://gems.ruby-china.org/) #(设置当前ruby的源,淘宝镜像已经不能用了,可以用[https://gems.ruby-china.org](https://gems.ruby-china.org/))

$ gem sources -l #(再次查看当前ruby的源)
CocoaPods的使用與導入_第2张图片
出現這個表示成功.png

3、升級gem為最新版本

$ sudo gem update -n /usr/local/bin —system

如果出現
ERROR: While executing gem ... (OpenSSL::SSL::SSLError)
hostname "upyun.gems.ruby-china.org" does not match the server certificate
原因是之前用的ruby镜像源是淘宝的,需要切换成https://gems.ruby-china.org/,在终端输入

$ gem sources —remove [https://ruby.taobao.org/](https://ruby.taobao.org/)

$ gem sources -a [https://gems.ruby-china.org/](https://gems.ruby-china.org/)

4、接下來就安裝CocoaPods吧

$ cd ~/.cocoapods/repos

克隆一个Specs库

$ git clone [https://github.com/CocoaPods/Specs](https://github.com/CocoaPods/Specs)

完成后,执行open . 打开当前目录repos

$ open .

然后把Specs目录改名为master即可
如果gitclone慢的話可以自己下載直接上https://github.com/CocoaPods/Specs 点击下载后放到~/.cocoapods/repos(Mac前往文件夾就行) 這個位置裡面

然後執行pod search 搜索第三方庫

$ pod search AFNetworking
CocoaPods的使用與導入_第3张图片
出現這個就說明安裝好啦.png

然後按wq退出

如果出現如果出现 [!] Unable to find a pod with name, author, summary, or description matching AFNetworking
执行下面操作,删除索引

$ rm ~/Library/Caches/CocoaPods/search_index.json

執行

$ pod search AFNetworking

5、使用
①.新建工程 cd到目錄下
②.新建Podfile文件

$ vim Podfile 
然后按 i 进行编辑
2.建立Podfile(配置文件)

  1)接着上一步,终端输入 vim Podfile

  2)键盘输入 i,进入编辑模式,输入

  3)输入内容:

       platform :ios, '8.0'
       use_frameworks!
       target '工程名' do
            pod 'SDWebImage’, '~> 3.7.5'
       end

   4)然后按Esc

    5)按住shift键的同时按住冒号键(:),然后输入wq

    6)在当前工程目录下输入 pod install 

然後進入到工程文件夾


CocoaPods的使用與導入_第4张图片
屏幕快照.png

雙擊打開它將需要導入的三方庫編輯到裡面


CocoaPods的使用與導入_第5张图片
屏幕快照 2017-08-19 15.25.15.png

③.導入第三方庫

$ pod install

成功后會出現

CocoaPods的使用與導入_第6张图片
屏幕快照 2017-08-19 15.29.47.png

然後就可以用。

6、升级pod

查看gem版本
$ gem --version
查看Pod的版本
$ pod --version
升级pod
$ sudo gem install -n /usr/local/bin cocoapods --pre

7、更新pod(指定库)

pod update MJRefresh

就行了

不管你是加载还是更新

执行这一个命令就好

如果你执行的时候出现了

Updating local specs repositories提示

那么变通一下
����������������������������������������������������������������������������������������������������������������������������������
写上

 pod update MJRefresh  --verbose --no-repo-update

命令就好了
直接快速更新:
pod install --repo-update
```���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

你可能感兴趣的:(CocoaPods的使用與導入)