iOS-CocoaPods的安装与使用

拟墨画扇 提交于 2020-03-21 03:21:19

一、CocoaPods的安装

  1、简介:

  • CocoaPods是一个用来帮助我们管理第三方依赖库的工具。
  • 在开发iOS应用时,会经常使用第三方类库,比如SDWebImage、AFNetworking等等,手动的下载与添加类库非常麻烦,通过CocoaPods可以便捷的下载与管理第三方类库。
  • 使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。
  • 官方链接:https://cocoapods.org

  2、安装步骤

  • 第一步:打开终端,查看自己电脑的ruby环境:gem sources -l。如果环境是
*** CURRENT SOURCES *** https://ruby.taobao.org/,则跳到第四步。如果环境是
*** CURRENT SOURCES ***https://rubygems.org/,则需要移除环境(CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境,OS X系统默认支持Ruby运行,但是Ruby的默认源使用的是rubygems.org,国内访问这个网址时,如果无法翻墙,则不能下载,解决方案是将其替换成可用的Ruby,比如淘宝。)。
  • 第二步:移除环境:gem sources —remove https://rubygems.org/。结果:
https://rubygems.org/ removed from sources
  • 第三步:安装镜像环境:gem sources -a https://ruby.taobao.org/。结果:
https://ruby.taobao.org/ added to sources,再次输入gem sources -l,查看环境是否为 https://ruby.taobao.org/
  • 第四步:安装CocoaPods:sudo gem install cocoapods,根据电脑配置和网速,需要等待大概几分钟,结果:(有gems installed即可)23 gems installed。
  • 第五步:设置:pod setup,结果:会出现Setting up CocoaPods master repo,需要下载大概400M左右,第一次会等待很长时间。(查看进度:可以Command+N新建一个终端:进入cocoa pods文件夹cd ~/.cocoapods,du -sh *查看进度,隔几分钟查看一次直到下完即可)。
  • 出现即为成功设置:Setup completed。
  • 注意:升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法:sudo gem install -n /usr/local/bin cocoa pods。

二、CocoaPods的使用

  使用步骤

  • 第一步:先找到要查找的三方库:pod search + 第三方库名称(例MBProgressHUD)。
  • 第二步:出来列表页面,选择三方库最新版本的命令,例如:pod ‘MBProgressHUD’,’~>0.8’。
  • 第三步:创建工程,进入工程:cd + 工程路径。
  • 第四步:编辑工程的Podfile文件:vim Podfile。
  • 第五步:按i使Podfile处于编辑状态,然后将要下载的内容,放在这个里边:pod ‘MBProgressHUD’,’~>0.8’,输入完成后按ESC,然后输入:wq,回车保存退出。
  • 第六步:保存Podfile的设置,然后进行更新下载三方库:pod update。
  • 然后去工程中检查出现工程名.xcworkspace的文件即为成功。

  注意:

  1、终端报错:The dependency MBProgressHUD (~> 0.9.2) is not used in any concrete target.


  2、原因:CocoaPods升级到最新版本(包括一些高版本),Podfile文件的内容必须明确指出所用第三方库的targetName.


  3、报错分析:低版本和高版本写法不一样.

  • 低版本:
platform :iOS, ‘8.0’
pod ‘MBProgressHUD’, ‘~> 0.9.2’
  • 高版本:
platform :iOS, ‘8.0’
target “targetName” do
pod ‘MBProgressHUD’, ‘~> 0.9.2’
end
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!