iOS-CocoaPods的安装和使用

news/2024/7/20 22:37:25 标签: ios, cocoaPods
  • cocoaPods的作用
    在开发iOS项目时,会常使用到第三方类库。
      惯常做法是到GitHub上或其它网站下载一个一个的类库,然后导入到工程中,并且引入各种的类库,做各种的配置。有时候还要处理ARC与MRC的问题,很麻烦。
      还有一种情况,就是当第三方类库出现升级的情况时候,还需要删掉旧的,下载新的,再重新导入。
      以上问题超级的烦人。。。

      CocoaPods就是类库管理工具,刚刚提到所有麻烦的操作,CocoaPods都能解决。

      作为一名程序员,掌握CocoaPods已经和你会使用UI控件一样重要了!


如何安装

安装CocoaPods需要本地Ruby环境,默认情况下,Mac自带Ruby环境可以通过在终端输入ruby -v查看Ruby版本,接下来进行安装,使用如下命令:

sudo gem install CocoaPods

输入以上命令,可能会报错:command not found,这是外网的安装地址,我们没有窗口,被挡住了。没关系,我们通过另一个地址来访问CocoaPods。淘宝的Ruby镜像,因此将Ruby镜像替换为淘宝的镜像地址,命令如下:(每按完一条命令按一次回车键,会有操作成功德提示)
gem sources –remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
完成地址替换之后,我们可以查看Ruby镜像是否指向淘宝,命令如下:(注意:最后那个词是字母L的小写,不是数字1)显示如图此命令后的信息,表示安装成功:上面的命令,有时试了会没有效,请参考淘宝网的 https://ruby.taobao.org

gem sources -1

  • 操作图示:
    换镜像地址
    查看淘宝镜像地址
安装CocoaPods,(需要输入你的电脑密码,然后回车键,等待)命令如下:可能需要等几分钟才出现提示,不是死机,也不是没反应,什么都不需要做,耐心等待即可。(OX10.11未安装成功,请参照下一行10.11以上)
sudo gem install cocoapods
  • 操作图示:
    提示成功提示
    这里写图片描述
10.11以上:上面的命令不生效了,因为10.11把CocoaPods直接干掉了,则在终端中输入如下命令:

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

sudo xcode-select –switch /Applications/Xcode.app

//将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下(下面的命令:)

pod setup

它需要一点时间来完成,你等就是了,如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup,命令如下:(至此,安装完成)
pod repo remove master
pod setup
升级ruby镜像版本,命令如下:
sudo gem update –system
  • 操作图示(展示部分):
    升级环境

如何使用

  • 如何安装和使用第三方
在终端,使用search命令搜索类库名
pod search AFNetworking
-结果如下图,从这个图上,我们可以看到AFN的好多版本及最新版本
查找AFNetworking
使用cd命令,将你的工程的文件拖进来,拖入文件夹位置:xcode程序入口的上一层目录文件
cd /Users/flying/Desktop/示例程序/某某工程
-图示如下(拖入第一层文件夹即可)
拖入工程
回车后,输入命令创建Podfile文件,在上图第二层文件中,多了一个Podfile 的文件
touch Podfile
使用vim编辑pod file文件

vim Podfile

然后在新弹出的窗口中,输入命令文字,按i键进入编辑模式,在编辑完成后,按esc键,然后按shift+”:”,这个时候输入wq,回车即可保存退出,下面命令的意思是,当前AFNetworking支持的iOS最高版本是iOS9.2,需要下载的AFNetwroking的版本是3.1.0,不写版本号,默认为最新版,命令如下:(可以将项目中需要的第三方依次都写完)

platform :iOS, ‘9.2’

pod “AFNetworking”,”3.1.0”
pod “SDWebImage”
下载相应第三方类库,要等待几分钟,请耐心

pod install
pod install 如果等很长时间都无反应,停在updating local specs repositories这里,可能被墙了,请用以下这句代替(需要关掉终端,重新进入):
pod install –verbose –no-repo-update

-安装成功如图:最后一行绿色的字,提示我们关掉当前的xcode窗口,并且用后缀名为.xcworkspace的文件打开程序,此时打开程序,我们会看到我们安装的Pods和里面已经下载好的第三方控件,此时,在任何类导入#import “AFNetworking.h”,都可以用了。
成功提示

其它

如何卸载cocoaPods,如果安装多个版本,选择All,即可全部卸载
sudo gem uninstall CocoaPods

第三方各种版本写法与含义:
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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本


http://www.niftyadmin.cn/n/1035867.html

相关文章

java核心类-String

String 在Java中&#xff0c;String是一个引用类型&#xff0c;它本身也是一个class,实际上字符串在String内部是通过一个char[]数组表示的,String太常用了. 常用&#xff1a; String str"hello world";字符串的比较&#xff1a;equal实现 不能使用&#xff1d;&…

VL01N/QA32/QA11出口增强

需求:某工厂某库存地点销售发货时不需要做检验批处理. 分析:SAP标准质量管理视图只能控制到工厂级别,无法实现库存地点级别的控制. 所以寻求abap方式去解决,寻遍N多出口与增强也无法实现,最后只能进行残忍 的标准程序debug了. 程序名:FV50WF0W 程序段: *... Check QM status? …

设置placeholder的颜色

方法一&#xff1a;自定义UITextField类&#xff0c;重写drawPlaceholderInRect方法 - (void)drawPlaceholderInRect:(CGRect)rect { [self.placeholder drawInRect:CGRectMake(0, 10,rect.size.width, 25) withAttributes:{ NSForegroundColorAttributeName:[UIColor whiteCol…

BADI修改VL02N屏幕字段

SE18 查看 badi LE_SHP_DELIVERY_PROC .我们会发现系统对这个 badi 有实现了一个类 . 下面我们会参考这个类的方法实现我们的需求 . 如图 .1.SE19创建badi LE_SHP_DELIVERY_PROC的实现: ZI_SHP_DELIVERY_PROC.再创建增强实现: ZIM_SHP_DELIVERY_PROC.之后如下图&#xff0c;比较…

如何实现推送引导

思路篇&#xff1a; 1.图形搭建&#xff1a;自定义View &#xff0b; Xib 2.实现逻辑&#xff1a; 1、将视图加入根视图控制器 2、如何决定显示与否&#xff08;只在程序当前版本第一次打开的时候显示&#xff09;&#xff1a;取到当前版本号&#xff0c;与沙盒中的版本号比较…

android studio apk签名及配置

目录一.keytool 工具使用1.keytool 查看密码2.下载keytool工具&#xff0c;签名二.使用apksigner 进行签名三. android studio 签名系统apk对apk进行签名有两种方式一种是通过android stuido 来进行签名&#xff0c;另一种是通过keytool来进行签名&#xff0c;本篇主要来讲解后…

JS Canvas context API 画布

// Ready var elem document.getElementById("myCanvas"); var context elem.getContext(2d);//2D context API----线条context.fillStyle #00f; //填充色context.fillRect(x,y,width,height); //绘制带填充的矩形 context.strokeStyle #f00; //边框色或轮廓色c…

Android 常用的路径、文件操作

在Android开发过程中&#xff0c;我们经常会对文件系统进行操作——存放、释放我们应用的数据。Android系统中提供了各种功能的文件目录&#xff0c;每个目录都有相应的特点和功能。 通过Context来获取路径 一.在全文获取context的方法 具体思路是在MyApplication里面定义一个…