zoukankan      html  css  js  c++  java
  • iOS开发:cocoapods的使用

    Cocoapods是OS X和iOS下的一个第三方类库管理工具,通过CocoaPods工具我们可以为项目添加各种依赖库,减少了我们手动引入库需要的各种配置,同时使用cocoapods可以方便的查找新的第三方库,这些库都比较标准。

    cocoaPods的核心组件:

    CocoaPods是用Ruby写的,并划分成了若干个Gem包。

    cocoapods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPod、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环境。一般Mac环境下自带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来进行升级

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

    2、安装cocoapods时我们要访问cocoapods.org。但是由于被墙的关系,下载速度很慢,可以使用淘宝的Rudy镜像来访问该网站,方法如下:

    gem sources --removehttps://rubygems.org/

    gem sources -ahttp://ruby.taobao.org/

    3、开始正式安装cocoapods,在终端输入以下命令:

    $sudo gem install 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、需要在工程中创建一个Podfiles文件

    使用命令:

    $cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径)

    $ touch Podfile(创建Podfile文件)

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

    $ vim Podfile

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

    $platform:ios, '7.0'

    $ pod 'AFNetworking', '~> 2.3.1'

    在编辑完成后按“esc”

    再按:,这个时候输入wq 点击回车,保存并退出

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

    然后在终端上输入命令就开始安装第三方类库

    $pod install

  • 相关阅读:
    PyTorch学习笔记之Variable_and_function_cat
    PyTorch学习笔记之DataLoaders
    PyTorch学习笔记之nn的简单实例
    PyTorch学习笔记之Tensors 2
    PyTorch学习笔记之Tensors
    webdriver定位元素
    Python面向对象、继承和多态
    python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分
    Python定义类时为什么要继承object类
    Python数据类型
  • 原文地址:https://www.cnblogs.com/shaoting/p/4895272.html
Copyright © 2011-2022 走看看