一:CocoaPods的安装

我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入

$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a http://ruby.taobao.org/

为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

$ gem sources -l

只有在终端中出现下面文字才表明你上面的命令是成功的:

*** CURRENT SOURCES ***

        http://ruby.taobao.org/
这时候,你再次在终端中运行:
$ sudo gem install cocoapods

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

二:CocoaPods的使用

1:建立名为Podfile的文件,在终端执行命令打开项目的根目录:再在终端执行 touch Podfile 命令来创建名为Podfile的文件。如图:

这样就在项目的根目录下创建了名为
Podfile的文件:如图: 2:手动打开或是终端打开Podfile文件:在终端执行命令: open -e Podfile

此时会打开项目根目录下的Podfile文件,可对该文件进行编辑:其中的target 后面的为项目名字,其中这些开源的框架可去github上查找,并查看用cocoapods导入的方法,所支持的版本

2:编辑好Podfile文件后,在终端执行命令: pod install.如图正在下载类库:

当执行pod install之后,除了Podfile,还会生成一个名为Podfile.lock的文件,它会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock.在多人协作的时候,这样可以防止第三方库升级时候造成大家各自的第三方库版本不一致。所以在提交版本的时候不能把它落下,也不要添加到.gitignore中.

pod install 成功之后如图:

3:cocoapods的使用注意点:

1:从此以后需要使用Cocoapods生成的 .xcworkspace文件来打开工程,而不是使用以前的.xcodeproj文件

2:  每次更改了Podfile文件,都需要重新执行一次pod update命令

3:你如果不知道 cocoaPods 管理的库中,是否有你想要的库,那么你可以通过 pod search 命令进行查找.在终端切换到项目的根目录下:执行 pod search SDWebImage 命令,就会查找出cocoaPods所支持的SDWebImage的信息和版本如

图,可以在途中找到 含有pod 一行命令的语句,这个语句就是我们需要在Podfile文件中需要编辑的

4:cocoapods的安装和更新:在终端中切换到项目根目录下执行命令:sudo gem install cocoapods

5:cocoapods常见指令:

1:

当 团队中的某个人执行完pod install命令后,生成的Podfile.lock文件就记录下了当时最新Pods依赖库的版本,这时团队中的其它人check下来这份包含 Podfile.lock文件的工程以后,再去执行pod install命令时,获取下来的Pods依赖库的版本就和最开始用户获取到的版本一致。如果没有Podfile.lock文件,后续所有用户执行pod install命令都会获取最新版本的SBJson,这就有可能造成同一个团队使用的依赖库版本不一致,这对团队协作来说绝对是个灾难!
在这种情况下,如果团队想使用当前最新版本的SBJson依赖库,有两种方案:
  • 更改Podfile,使其指向最新版本的SBJson依赖库;
  • 执行pod update命令;
鉴于Podfile.lock文件对团队协作如此重要,我们需要将它添加到版本管理中。

Podfile.lock文件最大得用处在于多人开发。对于没有在Podfile中指定Pods依赖库版本的写法如下:

pod 'SBJson'   该命令用于获取当前SBJson这个Pods依赖库的最新版本。

2:Podfile文件存放的位置:通常情况下我们都推荐Podfile文件都放在工程根目,录事实上Podfile文件可以放在任意一个目录下,需要做的是在Podfile中指定工程的路径,和原来相比,Podfile文件就在最开始的位置增加了一行,具体内容如下: (也可以不指定,直接默认在根目录下)

此后,进入Podfile文件所在路径,执行pod install命令就会和之前一样下载这些Pods依赖库,而且生成的相关文件都放在了Podfile所在目录下面

3:Podfile 和 target:

Podfile本质上是用来描述Xcode工程中的targets用的。如果我们不显式指定Podfile对应的target,CocoaPods会创建一个名称为default的隐式target,会和我们工程中的第一个target相对应。换句话说,如果在Podfile中没有指定target,那么只有工程里的第一个target能够使用Podfile中描述的Pods依赖库。

4:使用Podfile管理pods依赖库版本

再引入依赖库时,需要显示或隐式注明引用的依赖库版本,具体写法和表示含义如下:

5:cocoaPods常用指令:

1:pod install:根据Podfile文件指定的内容,安装依赖库,如果有Podfile.lock文件而且对应的Podfile文件未被修改,则会根据Podfile.lock文件指定的版本安装。每次更新了Podfile文件时,都需要重新执行该命令,以便重新安装Pods依赖库。

2:pod update:若果Podfile中指定的依赖库版本不是写死的,当对应的依赖库有了更新,无论有没有Podfile.lock文件都会去获取Podfile文件描述的允许获取到的最新依赖库版本

3:pod search :搜索相应的依赖库,将含有pod的命令添加到Podfile文件中

4:pod setup:这条命令用于更新本地电脑上的保存的Pods依赖库tree。由于每天有很多人会创建或者更新Pods依赖库,这条命令执行的时候会相当慢,还请耐心等待。我们需要经常执行这条命令,否则有新的Pods依赖库的时候执行pod search命令是搜不出来的。

5:## CocoaPods

- 若没有写上版本号,则cocoapods默认安装最新的版本,且适配platform下的ios版本。第一次执行podInstall,此时还没有生成Podfile.lock文件,当安装完毕后,会生成Podfile.lock文件,记录 所有第三方框架的版本号,此后在执行pod install,则只会会根据Podfile.lock文件中列举的版本号来安装第三方框架

- Podfile.lock文件

- 最后一次更新Pods时, 所有第三方框架的版本号

- 常用指令的区别:两个方法都会将最新版本从服务器下载到电脑缓存起来,根据指令不同安装不同的版本

- pod install

- 会根据Podfile.lock文件中列举的版本号来安装第三方框架

- 如果一开始Podfile.lock文件不存在, 就会按照Podfile文件列举的版本号来安装第三方框架

- 安装框架之前, 默认会执行pod repo update指令

- pod update

- 将所有第三方框架更新到最新版本, 并且创建一个新的Podfile.lock文件

- 安装框架之前, 默认会执行pod repo update指令

- pod install --no-repo-update

- pod update --no-repo-update

- 安装框架之前, 不会执行pod repo update指令

podfile文件编辑如图:platform之后的ios为小写,并标明项目的版本号,若是pod的文件没有标明版本号,则第一次执行pod install的时候,默认系在的都是最新的版本。有时候会执行pod install 命令时会出现系在依赖库失败的情况,可能的原因是电脑本地的依赖库不是最新的,需要更新到最新,所以执行pod update,更新最新的依赖库,此时的Podfile.lock文件记录的版本号也会更新,非第一次执行pod install,系统会根据
Podfile.lock文件记录的版本号区更新依赖库,只有执行pod update之后,才会更新现有的依赖库。


 

二:新浪微博:第三方框架管理工具CocoaPods的安装和使用的更多相关文章

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

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

  2. OS X第三方类库管理工具cocoapods入门

    一.简介 什么是cocoapods?--是OS X和iOS下一个第三方类库管理工具.通过cocoapods,可以为项目添加"Pods"依赖库,并且管理其版本. cocoapods好 ...

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

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

  4. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  5. cocoaPods框架管理工具使用

    前言:文中的"$"表示命令行,使用使不需要包含 cocoaPods的安装 因为cocoaPods需要用Gem进行安装,所以如果系统比较旧需要先升级Gem $ sudo gem up ...

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

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

  7. 安装和使用iOS的包管理工具CocoaPods

    CocoaPods是ruby实现的,需要用ruby进行安装,mac自带ruby,如果没有ruby的需要先安装ruby.   安装CocoaPods命令 安装CocoaPods命令:sudo gem i ...

  8. Kafka集群管理工具kafka-manager的安装使用

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

  9. kafka集群管理工具kafka-manager部署安装

    一.kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很 ...

随机推荐

  1. Mysql基本增删改查

    1登陆服务器 mysql -h localhost -u username -p password 2查看存在数据库 show databases; 3创建一个数据库(例如名字为class1,以下都是 ...

  2. 中间件 —— 消息中间件(MOM)

    维基百科对消息中间件的定义为:Message-oriented middleware (MOM) is software or hardware infrastructure supporting s ...

  3. Qt之界面换肤

    简述 常用的软件基本都有换肤功能,例如:QQ.360.迅雷等.换肤其实很简单,并没有想象中那么难,利用前面分享过的QSS系列文章,沃我们完全可以实现各种样式的定制! 简述 实现原理 效果 新建QSS文 ...

  4. golang round

    func Round(f float64, n int) float64 {pow10_n := math.Pow10(n)return math.Trunc((f+0.5/pow10_n)*pow1 ...

  5. BZOJ2733: [HNOI2012]永无乡(线段树合并)

    Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...

  6. BZOJ2160: 拉拉队排练(Manacher)

    Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训 ...

  7. 进阶攻略|最全的前端开源JS框架和库

    新的 Javascript 库层出不穷,从而Web 社区愈发活跃.多样.在多方面快速发展.详细去描述每一种主流的 Javascript框架和库近乎不可能,所以在这篇文章中主要介绍一些对前端发展最具影响 ...

  8. hashlib —— Python 的 md5 和 sha1 加密

    python的md5和sha1加密 0. md5 与 sha1 MD5 的全称是 Message-Digest Algorithm 5(信息-摘要算法).128 位长度.目前 MD5 是一种不可逆算法 ...

  9. IIS7性能优化

    http://www.03389.com/BLOG/user1/qq66565841/archives/2014/2014112143553.html IIS7性能优化 IIS7 优化-网站请求并发数 ...

  10. C# List 复制克隆副本

    [C#技术] C# List 复制克隆副本数字人 发表于:2012-8-28 18:02:49废话不多说,看代码: 方法一: List<string> t = new List<st ...