美文网首页
cocoaPods 使用

cocoaPods 使用

作者: 珍此良辰 | 来源:发表于2016-05-04 20:50 被阅读255次

前言:文中的"$"表示命令行,使用时不需要包含


cocoaPods的安装

  • 因为cocoaPods需要用Gem进行安装,所以如果系统比较旧需要先升级Gem

    • $ sudo gem update --system
  • 切换cocoaPods的数据源

  • 安装cocoaPods(需要等待,下载数据源)

    • $ sudo gem install cocoapods 如果报错则使用下面的命令行进行安装
      • $ sudo gem install -n /usr/local/bin cocoapods
  • 设置pod仓库(需要等待,因为要下载cocoaPods支持的框架配置文件,长短看网速)

    • $ pod setup
  • 查看一下是否安装成功(如果有版本号,则说明已经安装成功)

    • $ pod --version

利用cocoaPods来安装第三方框架

  • 进入要安装框架的项目的.xcodeproj同级文件夹

    • $ cd 项目的.xcodeproj同级文件夹路径
    • 在该文件夹中新建一个文件podfile
      • $ touch podfile
    • 查看cocoaPods是否支持要使用的框架(这里就搜索afn,在检索出来的信息中寻找是否有需要的框架)
      • $ pod search afn
      • 找到需要使用的框架并拷贝 pod 'AFNetworking', '~> 3.1.0'(拷贝框架下相应的字段)
    • 在podfile文件中告诉cocoapods需要安装的框架信息
      • 打开podfile文件
      • 告诉它支持的平台、适用的iOS版本
        • platform :ios, '6.1'
      • 框架的名称、框架的版本
        • pod 'AFNetworking', '~> 3.1.0'
    • 保存
      说明:
      platform :ios, '7.0' 用来设置所有第三方库所支持的iOS最低版本
      pod 'AFNetworking', '~> 3.1.0' 设置框架的名称和版本号
      版本号的规则:
      '>1.0' 可以安装任何高于1.0的版本
      '>=1.0' 可以安装任何高于或等于1.0的版本
      '<1.0' 任何低于1.0的版本
      '<=1.0' 任何低于或等于1.0的版本
      '~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
      '~>0' 任何版本,相当于不指定版本,默认采用最新版本号
  • 安装框架

    • $ pod install --no-repo-update
    • $ pod update --no-repo-update
      说明:--no-repo-update表示不更新,速度较快也可以省略

使用pod install命令安装框架后的大致过程:

  • 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
  • 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
  • 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
  • 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。

卸载cocoaPods

  • $ sudo gem uninstall cocoapods

常见错误解决方法

  • 错误 1:

  • 错误 2:

    • Error: While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/pod

    解决方案:系统升级 OS X EL Capitan (10.11) 后会出现的插件错误,将安装流程安装 CocoaPods 的 sudo gem install cocoapods
    改为 sudo gem install -n /usr/local/bin cocoapods

  • 错误 3:

    • [!] Unable to satisfy the following requirements:

      • AFNetworking (~> 2.3.1) required by Podfile

      Specs satisfying the AFNetworking (~> 2.3.1) dependency were found, but they required a higher minimum deployment target.

      解决方案:Podfile 文件 中 platform:ios, ‘7.0’ 后边的 7.0 是平台版本号 ,一定要加上

  • 错误 4:

―――――――――― MARKDOWN TEMPLATE ――――――――――

省略一大堆信息

―――――――――― TEMPLATE END ――――――――――

[!] Oh no, an error occurred.

Search for existing github issues similar to yours:

https://github.com/CocoaPods/CocoaPods/search?q=%28%2FUsers%2FMAXJ%2F.cocoapods%2Frepos%2Fmaster%2FCocoaPods-version.yml%29%3A+mapping+values+are+not+allowed+in+this+context+at+line+3+column+4&type=Issues

If none exists, create a ticket, with the template displayed above, on:

https://github.com/CocoaPods/CocoaPods/issues/new

Don't forget to anonymize any private data!

解决方案:

$ sudo rm -rf ~/.cocoapods/repos/master

$ pod setup

相关文章

网友评论

      本文标题:cocoaPods 使用

      本文链接:https://www.haomeiwen.com/subject/hjtdrttx.html