CocoaPods是ruby实现的,需要用ruby进行安装,mac自带ruby,如果没有ruby的需要先安装ruby。
 
安装CocoaPods命令
安装CocoaPods命令:sudo gem install cocoapods
 
gem默认是从https://rubygems.org/的源进行下载的,下载较慢,可以切换到国内的源进行下载,下面是切换的方式:
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
切换完成后,通过【gem sources -l】查看所有的源
 
查看安装的CocoaPods的版本
pod --version
 
使用CocoaPods
进入xcode的工程目录,新建一个Podfile文件(每个工程都有一个Podfile)
使用的别人已经建好的工程,所以不需要自己去建立Podfile了
在Podfile的同级目录下输入以下命令,进行依赖包更新
pod setup 
pod setup更新本地电脑上Pods依赖库的tree,有新的Pods依赖库时可以pod search出来
 
pod update
pod update会通过Podfile去获取允许获取的最新版本的依赖库进行安装,并且会生成一个Podfile.lock文件
 
pod install
pod install如果有Podfile.lock文件,且Podfile未更新,会从Podfile.lock获取依赖库信息进行安装。如果没有Podfile.lock则会根据Podfile进行安装
 
备注:
在使用pod update和pod install时非常慢,通过这篇http://blog.csdn.net/ralbatr/article/details/39082937博客解决了慢的问题
(最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动

原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update)
 
 
安装中遇到的问题:
 
问题一:
在安装过程中提示“activesupport requires Ruby version >= 2.2.2.”,所以需要先升级ruby然后再去进行安装
(通过【ruby -v】可以查看ruby版本)
 
第一步:安装rvm
先安装rvm:rvm可以让我们拥有多个ruby,并在多个版本之间自由切换,mac自带的版本太低,我们可以装一个高版本的并存
curl -L get.rvm.io |bash -s stable
source ~/.rvm/scripts/rvm
rvm -v
 
第二步:通过rvm安装高版本ruby并切换默认版本
rvm list known  //列出ruby所有可安装的版本
 
 
然后选择一个可安装的版本进行安装
rvm install 2.2.4
安装成功后查看ruby版本,ruby -v。已经是最新的版本了
 
rvm use 2.2.4 —default   //这个是切换ruby的默认版本为2.2.4,搜索到资料上是这么写的,但是在使用这个命令之前ruby版本也是2.2.4.如果要切换回低版本再用吧
 
(ruby版本低问题解决,直接重新使用sudo gem install cocoapods安装即可)
 
 
安装过程中我没有遇到gem版本过低问题,如果提示gem版本过低,sudo gem update —system来解决(system前两个-)
 
问题二:
podfile中的下载地址是从自己建的git上下载,一直下载不下来
 
解决方法:
需要申请对应git仓库的权限,将本机生成的ssh公钥配置到git的密钥管理里
 
问题三:
pod update和pod install的时候提示The dependesy ‘xxx’is not used in any concrete target.
网上搜到的方法是在Podfile中增加target xxx to   最后加end(但是我有多个target。填上后还是各种报错)
最后咨询了开发,说是因为我的pod版本太高了,需要降级,如果不降级可以通过修改Podfile文件实现,但是就算pod下来了打包时也会失败
 
解决方案:
对cocoapods进行降级
 
具体方法参考下面的文章:

安装和使用iOS的包管理工具CocoaPods的更多相关文章

  1. iOS包管理工具Cocoapods的安装与使用

    转自:http://www.sxt.cn/u/10014/blog/6448 在我们开发移动应用的时候,一般都会使用到第三方工具,而由于第三方类库的种类繁多,我们在项目中进行管理也会相对麻烦,所以此时 ...

  2. IOS开发依赖管理工具CocoaPods

    CocoaPods IOS开发依赖管理工具 CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It ...

  3. iOS开发者的管理工具-CocoaPods安装

    1. 安装 Ruby 对于iOS开发者,CocoaPods是最方便使用的第三方管理工具了,但是怎么安装CocoaPods呢,安装CocoaPods之前,要确保mac已经安装上Ruby,但在安装Ruby ...

  4. python包管理工具他们之间的关系

    python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...

  5. Linux rpm包管理工具

    1.什么是rpm包 是一种编译好的二进制软件包,安装速度快. 2.rpm包命名 el6:软件包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x进行安装 el ...

  6. Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验 | SwiftCafe 咖啡时光

    说起 iOS 开发的包管理,大家就不由得会想起 CocoaPods, 它确实是一个强大的工具.但这次咱们来关注另外一个包管理工具 Carthage,如果说 CocoaPods 像一个航母,一应俱全,坚 ...

  7. python 包管理工具pip安装与使用

    pip是python的一个包管理工具,与之类似的工具还有easy_install.根据官网的说法 如果你的python版本在Python 2 >=2.7.9 or Python 3 >=3 ...

  8. 怎样安装pip--python的包管理工具

    pip是python的包管理工具,使用它来安装python的模块很方便. pip支持的操作系统:Unix/Linux, OS X, and Windows. 支持的python版本号:2.6, 2.7 ...

  9. Mac上安装brew 包管理工具

    Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说 ...

随机推荐

  1. Android 自定义 spinner (背景、字体颜色)

    转自:http://blog.sina.com.cn/s/blog_3e333c4a010151cj.html 1.准备两张图片,并做好9.png   2.在drawable中定义spinner_se ...

  2. orace学习操作(2)

    一.Oracle视图 视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑.主要就是为了方便和数据安全: 实际当中的数据依然存在我们的实际表里面,只不过取数据的时候根据这个视图(子查询)从实际 ...

  3. [转]利用C#自带组件强壮程序日志

    利用C#自带组件强壮程序日志   在项目正式上线后,如果出现错误,异常,崩溃等情况 我们往往第一想到的事就是查看日志 所以日志对于一个系统的维护是非常重要的 声明 正文中的代码只是一个栗子,一个非常简 ...

  4. Linux下的压缩(zip)解压(unzip)缩命令

      .zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip命令 unzip -o ...

  5. python程序里加入调试断点

    在需要打断的地方加入:import pdb;pdb.set_trace()即可 如:

  6. VS:error C3872: '0xe044': this character is not allowed in an identifier解决方法

     从网上粘贴代码到编译器中直接编译的话,会报这个错误,但是代码看上去是没有问题的,实际的原因是因为我们粘贴代码的时候粘贴了中文字符进来. 解决方法:就是把这段代码放到记事本里,选择替换把中文输入空 ...

  7. Python XML解析

    什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这 ...

  8. __del__,item系列 ,hash方法,__eq__,

    # 构造方法 申请一个空间# 析构方法 释放一个空间 # 某个对象借用了操作系统的资源,还要通过析构方法归还回去:文件资源 网络资源 # 垃圾回收机制 class A: def __del__(sel ...

  9. python动态函数hasattr,getattr,setattr,delattr

    hasattr(object,name) hasattr用来判断对象中是否有name属性或者name方法,如果有,染回true,否则返回false class attr():     def fun( ...

  10. IntelliJ IDEA创建maven web项目(IDEA新手适用)

      步骤一:首先先创建一个project,在这里就是创建一个maven的工作空间 步骤二:按照下面的步骤操作就可以了,最后next 首先,选择左边的maven 然后在右边Creater from ar ...