服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - IOS - 史上最详细的CocoaPods安装教程(图文)

史上最详细的CocoaPods安装教程(图文)

2021-02-03 15:08iOS开发网 IOS

虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用

虽然网上关于cocoapods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用.

前言

在ios项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是cocoapods是一个很好的解决方案。

什么是cocoapods

cocoapods是os x和ios下的一个第三类库管理工具,通过cocoapods工具我们可以为项目添加被称为“pods”的依赖库(这些类库必须是cocoapods本身所支持的),并且可以轻松管理其版本。

cocoapods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是arc环境下的-fno-objc-arc配置等。第二,使用cocoapods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

接下来我们将介绍cocoapods的使用。

cocoapods的核心组件

cocoapods是用ruby写的,并划分成了若干个gem包。

cocoapods在解析执行过程中最重要的几个包的路径分别是:cocoapods/cocoapods、 cocoapods/core和 cocoapods/xcodeproj。

cocoapods / cocoapod:这是面向用户的组件,每当执行一个pod命令时,这个组件将被激活。它包括了所有实用cocoapods的功能,并且还能调用其他gem包来执行任务。

cocoapods / core:core gem提供了与cocoapods相关的文件(主要是podfile和podspecs)的处理。

 

podfile:该文件用于配置项目所需要的第三方库,它可以被高度定制。本文中我们主要在这里做动作。

podspec:该文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。

cocoapods / xcodeproj:这个包负责处理工程文件,它能创建以及修改.xcodeproj文件和.xcworkspace文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用cocoapods/xcodeproj。

 cocoapods安装步骤

1、升级ruby环境

终端输入:$gem update --system

此时会出现

error: while executing gem ... (gem::filepermissionerror)

you don‘t have write permissions for the /library/ruby/gems/2.0.0 directory.

zijingmacbook-pro:~ shiyunlei$ sudo gem update —system

这个是因为你没有权限去更新ruby

这个时候你可以在终端使用:$sudo gem update —system来进行升级

史上最详细的CocoaPods安装教程(图文)

 这个时候表示ruby升级完成。 

2、安装cocoapods时我们要访问cocoapods.org,该网站可能被我们大天朝墙了,这样下载安装可能会是龟速,幸好我们可以用淘宝的ruby镜像来访问该网站,方法如下:

 

复制代码 代码如下:

gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/

 

可以使用下面的命令(红色部分)查看是否更换镜像成功(如下图所示):
$ gem sources -l

史上最详细的CocoaPods安装教程(图文)

 

3、安装cocoapods,在终端输入命令

$sudo gem install cocoapods

这个时候会提示你输入密码,注:在终端输入密码不会有提示,光标也不会移动,一定要注意

开始安装,如下图:ps:这个过程可能花费时间比较长

史上最详细的CocoaPods安装教程(图文)

 

安装成功如下:

史上最详细的CocoaPods安装教程(图文)

 

4、使用search命令搜索类库名:

$pod search afnetworking

如果cocoapods支持,将会输出搜索到的所有类库版本和信息,以及在podfile中配置的写法,终端返回信息如下:

-> afnetworking (2.3.1)

a delightful ios and os x networking framework.

pod ‘afnetworking‘, ‘~> 2.3.1'(这个语句是需要在编辑podfile的时候输入的命令,即是如何安装下载相关类库的指令)

- homepage: https://github.com/afnetworking/afnetworking

- source: https://github.com/afnetworking/afnetworking.git

- versions: 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0,

2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-rc3, 2.0.0-rc2, 2.0.0-rc1, 1.3.4, 1.3.3,

1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0rc3, 1.0rc2, 1.0rc1,

0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]

- sub specs: - afnetworking/serialization (2.3.1) -

afnetworking/security (2.3.1) - afnetworking/reachability (2.3.1) -

afnetworking/nsurlconnection (2.3.1) - afnetworking/nsurlsession (2.3.1)

- afnetworking/uikit (2.3.1)

-> afnetworking+autoretry (0.0.5)

auto retries for afnetworking requests

pod ‘afnetworking+autoretry‘, ‘~> 0.0.5‘

- homepage: https://github.com/shaioz/afnetworking-autoretry

- source: https://github.com/shaioz/afnetworking-autoretry.git

- versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]

5、需要在工程中创建一个podfile文件,

使用命令:

$cd /users/shiyunlei/desktop/cocoapodssample(进入工程目录,cd后面的是工程的路径)

$ touch podfile(创建podfile文件)

史上最详细的CocoaPods安装教程(图文)

 

然后使用vim编辑podfile文件,使用命令:

$ vim podfile
进入如下界面

史上最详细的CocoaPods安装教程(图文)

 

然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对podfile文件进行编辑:

$platform:ios, ‘7.0‘

$ pod ‘afnetworking‘, ‘~> 2.3.1‘

在编辑完成后按“esc”,

史上最详细的CocoaPods安装教程(图文)

 

在按“:”,这个时候输入wq,点击回车,保存并退出。

史上最详细的CocoaPods安装教程(图文)

 

这个时候打开podfile文件就会看到里面添加了刚才在终端输入的一行语句,如下图

史上最详细的CocoaPods安装教程(图文)

 

然后在终端输入命令安装相应的第三方类库

$pod install

史上最详细的CocoaPods安装教程(图文)

 

因为这个过程需要下载相应的类库,所以时间和网速有关。

安装成功之后截图如下:

史上最详细的CocoaPods安装教程(图文)

 

这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。

史上最详细的CocoaPods安装教程(图文)

史上最详细的cocoapods安装教程就此结束了,如果还有什么疑问可以查看下面的相关文章。

延伸 · 阅读

精彩推荐
  • IOSIOS网络请求之AFNetWorking 3.x 使用详情

    IOS网络请求之AFNetWorking 3.x 使用详情

    本篇文章主要介绍了IOS网络请求之AFNetWorking 3.x 使用详情,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    总李写代码6892021-03-04
  • IOSiOS中时间与时间戳的相互转化实例代码

    iOS中时间与时间戳的相互转化实例代码

    这篇文章主要介绍了iOS中时间与时间戳的相互转化实例代码,非常具有实用价值,需要的朋友可以参考下。...

    张无忌!4812021-03-09
  • IOSiOS常见的几个修饰词深入讲解

    iOS常见的几个修饰词深入讲解

    这篇文章主要给大家介绍了关于iOS常见的几个修饰词的相关资料,iOS修饰词包括assign、weak、strong、retain、copy、nonatomic、atomic、readonly、readwrite,文中通过示...

    郡王丶千夜7422021-05-10
  • IOSxcode8提交ipa失败无法构建版本问题的解决方案

    xcode8提交ipa失败无法构建版本问题的解决方案

    xcode升级到xcode8后发现构建不了新的版本。怎么解决呢?下面小编给大家带来了xcode8提交ipa失败无法构建版本问题的解决方案,非常不错,一起看看吧...

    Cinna丶7542021-02-03
  • IOSiOS APP实现微信H5支付示例总结

    iOS APP实现微信H5支付示例总结

    这篇文章主要介绍了iOS APP实现微信H5支付示例总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下...

    一张小A11332021-06-01
  • IOS谈一谈iOS单例模式

    谈一谈iOS单例模式

    这篇文章主要和大家谈一谈iOS中的单例模式,单例模式是一种常用的软件设计模式,想要深入了解iOS单例模式的朋友可以参考一下...

    彭盛凇11872021-01-19
  • IOSiOS10 Xcode8适配7个常见问题汇总

    iOS10 Xcode8适配7个常见问题汇总

    这篇文章主要为大家详细汇总了iOS10 Xcode8适配7个常见问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    索马里猫10332021-02-01
  • IOSiOS逆向教程之logify跟踪方法的调用

    iOS逆向教程之logify跟踪方法的调用

    这篇文章主要给大家介绍了关于iOS逆向教程之logify跟踪方法调用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学...

    Mr.Guo11472021-04-28