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
屏幕快照 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的源)
出現這個表示成功.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
出現這個就說明安裝好啦.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 

然後進入到工程文件夾


屏幕快照.png

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


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

③.導入第三方庫

$ pod install

成功后會出現

屏幕快照 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
```���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容

  • 前序 之前做过一个项目,我没有使用cocoapods来安装第三方库,直接将第三方库拖入项目中,搭建桥来直接使用。这...
    KingTortoise阅读 313评论 0 2
  • 1、Ruby环境搭建 下载安装CocoaPods需要Ruby环境 ,Mac OS X 本身自带Ruby, 安装 R...
    Chris_js阅读 851评论 0 6
  • 整整三天,守在病房,足不出户。 这种半监狱式的生活对我这骨灰级的宅来说,还不错。如果不是看着针水一滴接一滴,检测器...
    洛TZ阅读 301评论 0 1
  • 说起蓝色小镇,被最多人所知的当然是有名的希腊 但这个世上还有一个蓝色的世外桃源在舍夫沙万( Chefchaouen...
    MT陈梦婷阅读 1,354评论 0 9
  • 要改改学习方法了。 想 ,读,练。
    蕭鑾圝阅读 252评论 0 0