割下背景: 刚学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 的安装和第三方库的导入就完成了.
最后:祝愿大家学习之路,天天向上,以上内容都是小编亲测,可能本人写作水平有限,文章内容仅供参考,如果帮助到了各位童鞋,请点个关注,谢谢啦.