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. js阻止默认事件、拖拽等等

    1.自定义右键菜单: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> &l ...

  2. HDU 1269 迷宫城堡(向量)(Tarjan模版题)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  3. Amazon behavior question

    Amazon onsite behavior question[一亩三分地论坛面经版] - Powered by Discuz! http://www.1point3acres.com/bbs/thr ...

  4. 廖雪峰Java1-1Java入门-java简介

    Java特点: 一种面向对象的跨平台变成语言 以字节码方式运行在虚拟机上 自带功能齐全的类库 非常活跃的开源社区支持 Java优点: 简单.健壮.安全 跨平台,一次编写,到处运行 高度优化的虚拟机 J ...

  5. h3c端口汇聚的几种情况-S5500-S5048

    S5500和S5048E聚合的几种情况,分享下:1.S5048E用手工的话,S5500用静态方式2.S5048E用静态的话,S5500用动态方式3.S5048E和S5048E聚合的话,用相同方式即可. ...

  6. C# implement java like CountDownLatch

    CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier.Semaphore.ConcurrentHashMap和BlockingQueue,它 ...

  7. 3D Render

    记录最近遇到的问题: 1:崩溃问题 由于高频率获取DC异常导致. void D3D11Texture2D::Copy2Window(void* srcdc, uint32_t left, uint32 ...

  8. 省市县_me

    # question   11import astfrom functools import reduce def file_read():    with open('D:\\pytharm\\ji ...

  9. 小朋友学C语言(7)

    数组 一.数组简介 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比 ...

  10. VS2015+Opencv半永久配置

    电脑W7 64位+VS2015+opencv3.0 刚开始学习opeencv很麻烦,配置的问题都弄了好久,一旦重装又出现很多问题,在网上看了一个论坛说的永久配置,特意记录一下! 第一步:下载openc ...