ios 第三方库的导入以及Cocoapods 的安装以及使用(最新版)

割下背景: 刚学ios不久,说实话踩过很多坑,以前是搞android的,在andorid studio工具中,导入第三方库如同喝水那么简单,可到了ios中,我遇到了一点疑惑,并且把自己遇到的一些坑踩下,并写出来,但愿能对您有点帮助.(因为编程原因,默认输入英文标点,忘各位理解下-_-);

ios 导入第三方库主要有两种:

一: 直接导入库的整个文件夹:

(这里我们以AFNetworking库为例

步骤:1.首先我们去github下载该库(地址:https://github.com/AFNetworking/AFNetworking)

步骤:2.下载完成之后解压得到如下图中的文件:


步骤:3.将AFNetworking文件夹直接放到你项目中,此时你就可以使用该库了


二:Cocospods 导入,

方式一中的方法有个缺陷,就是如果你导入多个库时,并且其中一个库又对另外一个库又依赖,这样就导致了相关库的重复导入,这显然不是我们想要的结果,于是一种新的导入方法出现: Cocoapods导入.(本文重点讲该方式的导入)

1.工欲善其事必先利其器,首先我们需要下载coccoapds

打开命令行(别人我命令行是什么,我也不知道-_-),

执行  sudo gem install cocoapods 

ps:假如提示 gem找不到,你可能需要安装Ruby环境,一般mac自带Ruby环境(若没有,具体就请自行google或者百度参考安装).

下载可能会很慢,大天朝你懂得

ps: 可能这一步会出现坑:

可能执行命令后会出现类似如下错误

ERROR:  While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/pod

解决办法1: 指标又治本的方法

执行命令: /usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"  //安装homebrew

然后执行: brew install ruby     即可解决

解决办法2: 治标不治本

执行: sudo gem install -n /usr/local/bin cocoapods         即可解决




步骤二:为了以后软件的更新方便,你可能需要更换数据源(觉得麻烦或者换了源无效果的的同学可以忽略该步骤,直接使用默认源)

首先执行:gem sources 可以看到我们当前使用的数据源:


更换数据源 https://gems.ruby-china.org/:     

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/   //更换该数据源(以前的文章说的淘宝源已经全部转到该源)

此时你可以再次执行gem sources 就会发现当前的使用源变成了我们新替换的https://gems.ruby-china.org/  (注意我们要保证同时只存在一种数据源)

ps:这里你可能又会遇到坑(只能说小编太不幸了),出现如下错误

这是ssl证书引起的错误,有两个解决办法:

解决方法1: 

将上面我们新加的数据源 https://gems.ruby-china.org/  改成 http://gems.ruby-china.org/ (不带https)

解决方法2:  (参考了Senjougahara文章:http://www.jianshu.com/p/17043faee2e6)  

注:强烈建议使用该方法--以防后面的命令出现ssl的问题

更新Ruby环境

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

2.装载rvm$ source ~/.rvm/scripts/rvm

3.安装2.3.0版本ruby$ rvm install 2.3.0

4.将2.3.0设为默认$ rvm use 2.3.0 --default

然后:

cd ~/.rvm/user/ssl      //cd 到ssl目录,若没有ssl文件夹,新建一个

sudo curl -O http://curl.haxx.se/ca/cacert.pem  //下载证书文件

sudo mv cacert.pem cert.pem   //重命名文件

问题即可解决




步骤三:更改数据源之后,需要进行一些初始化配置(这一步很重要)

执行: pod setup

ps:这个过程非常漫长,耐心等待.你可能会遇到各种问题,小编就是被这整的要死要活的,下面简单介绍踩过得坑(不过还是祝愿各位同学顺利安装吧)

坑1: 执行命令后出现如下错误

报错原因主要是无法下载cocoapods的主目录,

解决办法1:

假如你只安装了一个版本的xcode  (ps: 如果你是网上下载的xcode安装包直接解压的xcode,记得将xcode移入application中,小编当时就是没有做这一步)

执行  sudo xcode-select-switch/Applications/Xcode.app/Contents/Developer

假如你安装了多个版本的xcode

执行: sudo xcode-select-switch/Applications/Xcode7.3.1.app/Contents/Developer   //中间是你当前使用的xcode的版本

完成之后再次pod setup

   若上面没有解决,可采用坑2中手工导入,

坑2: 可能一直停留在以下输出

Setting up CocoaPods master repo

我们可以查看下载进度 

cd ~/.cocoapods/       //cd 到该目录

du -sh         //查看该目录的大小

过几分钟查看一次大小,假如大小无变化,说明下载有问题,这个下载的完整大小大概100M左右

解决办法:(该方式也是小编最后的采用的解决方式,小编太不幸了,~~~~(>_<)~~~~)

可以手动去下载配置文件: github.com/CocoaPods/Specs/releases ;   

下载完成之后解压得到如下几个文件

,然后将得到的这几个文件复制到~/.cocoapods/repos/master/    目录下如下结构



这里需要注意的是:/master/.git    这个文件是执行pod setup时生成的git配置文件夹,有时你强行停止终端时,该目录页会消失,你可以在强行停止终端前将该文件夹拷贝出来,然后加入我们下载的解压文件即可.

上述目录都是隐藏目录(针对不知道怎么显示隐藏目录的同学执行下面命令:

defaults write com.apple.finder AppleShowAllFiles -bool true   //显示所有隐藏文件


步骤4:

通过命令cd 到你的工作目录(注意这里一定是根目录):

然后 执行:  vim Podfile     //创建一个Podfile文件  

或者执行  pod init      //自动创建一个Podfile文件 (推荐)

这里我们以pod init创建的Podfile为例:

使用 open -a xcode Podfile   //使用xcode 打开该文件

内容如下:

然后保存退出即可,Podfile文件编写完成

ps:细心的同学可能会发现,AFNetworking 的github上推荐是这样写的,

source 'https://github.com/CocoaPods/Specs.git'platform:ios,'8.0'

target 'TargetName' do

pod 'AFNetworking','~> 3.0'

end

其实仔细对照上面我们的Podfile文件就会发现, 除了pod 'AFNetworking','~> 3.0' 这句系统没有生成,其他的系统都生成了(这也是上面我推荐同学使用pod init 命令去生成Podfile的原因);


步骤四:  Podfile文件编写完成之后,开始第三方库的安装....终于到安装了,有点小激动-_-

命令行到我们刚才的Podfile的目录(也就是项目的跟目录)

执行:  pod install     

出现


上诉操作之后,我们的库就已经导入到了项目中了,你可以发现你的项目目录中多了一个XX.xcworkspace 文件,以后我们使用xcode打开项目就直接打开该文件即可(切记不要再次通过XX.xcodeproj文件打开项目,否者会编译出错); 

重新打开项目之后会有如下图:


代表我们已经成功导入了.

三 至此,我们的cocoapods 的安装和第三方库的导入就完成了.


最后:祝愿大家学习之路,天天向上,以上内容都是小编亲测,可能本人写作水平有限,文章内容仅供参考,如果帮助到了各位童鞋,请点个关注,谢谢啦.



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

推荐阅读更多精彩内容