cocoaPods的安装使用

通过万能的百度,学习了一下cocoaPods。当你开发iOS应用时,会经常使用到很多第三方开源类库,手动一个个去下载这些库还是很麻烦的。

首先,在电脑安装cocoaPods。安装cocoaPods之前,要先在本地安装ruby(mac一般自带ruby),为了避免后面的步骤失败,我们还是更新一下电脑里自带的ruby。

升级Ruby

终端输入:gem update --system
如果出错,这时应该输入:sudo gem update --system(可能是没有权限,此时要输入密码)
升级成功~

1.终端执行 ruby -v命令查看本地ruby版本。
2.终端执行 gem sources --remove https://rubygems.org/
3.终端执行 gem sources -a https://gems.ruby-china.org/ 现在淘宝镜像已经不更新了
4.查看当前镜像,终端输入:gem sources -l
5.如果结果是

*** CURRENT SOURCES ***
https://gems.ruby-china.org/

说明添加成功,否则继续执行:gem source -a https://gems.ruby-china.org/
ok了,下面就是安装cocoaPods了

下载安装cocoaPods:

终端执行:sudo gem install cocoapods
如果安装失败,终端输入:sudo gem install -n /usr/local/bin cocoapods

安装.png

安装完cocoaPods之后就是使用了。
到这之后再执行pod setup(PS:这个过程是漫长的,要有耐心)
终端输入:pod setup
然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。
你可以command+n新建一个终端窗口,执行cd ~/.cocoapods/进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次,这个目录最终大小是1.2G左右(我的是1.2G)
当出现Setup completed的时候说明已经完成了。

新建一个工程LWXmppTest,在终端cd到该工程的总目录(在终端输入cd,然后把工程文件夹拖到终端就好),然后在该目录下执行命令: vim Podfile。结果如下:

vim Podfile执行结果.png

在里面手动输入:

platform:ios, '7.1'
pod 'XMPPFramework'

然后按esc,手动输入:wq,按enter就会在文件目录下出现Podfile了。(其实也可以直接在文件夹目录下建一个文件,在里面输入上面的代码保存就好)

现在到了导入库的时候了,也是在文件目录下,执行命令:pod install。就可以把XMPPFramework库导进去了。

成功导入XMPPFramework.png

成功导入库之后文件夹就多了好几个文件了

项目文件夹.png

后面打开项目就打开pod建的那个工程文件。

如果要导入多个库,直接改变配置文件,在Podfile里面添加你要导入的库就好了,改变完配置文件需要重新执行pod install命令。如果你不知该怎么写想导入的库,可以直接在命令里面用pod搜索这个库。
终端输入:pod search AFNetworking
如果失败报错,这是因为之前pod search的时候生成了缓存文件search_index.json
执行rm ~/Library/Caches/CocoaPods/search_index.json来删除该文件
然后再次输入pod search AFNetworking进行搜索
这时会提示Creating search index for spec repo 'master'..

搜索AFN.png

另外,如果有些第三方库已经存在,或者已经更新了配置文件里的版本,可以在文件夹目录下使用命令pod update更新三方库。

下面是配置文件Podfile中的三方库的版本号的各种写法:

pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

新版Podfile文件写法:

platform:ios, '7.1'
use_frameworks!

target 'LWXmppTest' do
  pod 'MJPhotoBrowser'
end

后记:
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。

加参数的命令如下:

pod install   --verbose --no-repo-update
pod update    --verbose --no-repo-update

如果cocoapods 在 Mac10.11 遇到如果下问题

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby

终端执行下面语句既可:

sudo gem install -n /usr/local/bin cocoapods

可以在platform :ios, ‘x.0’的后面加入这句

// 这样编译这些第三方库的时候就没有那些烦人的小警告了
inhibit_all_warnings!
  • 对于关闭所有警告就编译不过的库。可以简单对该库单独设置打开编译警告就可以了
pod 'ReactiveCocoa', '~> 2.1.8', :inhibit_warnings => true
  • 使用本地podspec文件
pod 'xxx', :podspec => '~/Desktop/xxx.podspec'
  • 如果你有多个Targets需要pod的库,在Podfile的头部加入
link_with ['XXXA', 'XXXB']
  • 如果要使用cocoaPod的beta版本,使用下面的更新命令:
gem install cocoapods --pre
  • 如果报错如下:

image.png

解决:在命令前面加上sudo

  • 如果报错如下:

image.png

解决:在命令的install 后面加上-n /usr/local/bin 即可成功。

1、更新gem:sudo gem update --system
2、删除gem源:gem sources --remove https://ruby.taobao.org/
3、修改gem源:gem sources -a https://gems.ruby-china.org
4、查看gem源是否是最新的:gem sources -l
5、升级cocoapods:sudo gem install -n /usr/local/bin cocoapods --pre
6、查看升级后的cocoapods版本:pod --version

慢慢来,一步一个巴掌印。。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容