一: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. UVA 12333 Revenge of Fibonacci

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  2. [Vue + TS] Create Type-Safe Vue Directives in TypeScript

    Directives allow us to apply DOM manipulations as side effects. We’ll show you how you can create yo ...

  3. 学习笔记(一):offset

    很多初学者对于JavaScript中的offset.scroll.client一直弄不明白,虽然网上到处都可以看一张图(图1),但这张图太多太杂,并且由于浏览器差异性,图示也不完全正确. 图一 不知道 ...

  4. 关于VUE的一些指令的介绍

    V-cloak 这是一个不常用的指令,出现这个指令的原因是因为有时候网络速度慢,还没加载完vue,代码就开始编译了,这个时候渲染出来的内容就可想而知了 <!DOCTYPE html> &l ...

  5. BlobTracker

    Blob分析介绍 分类: CV相关2012-11-04 11:25 1929人阅读 评论(5) 收藏 举报 Blob翻译成中文,是“一滴”,“一抹”,“一团”,“弄脏”,“弄错”的意思.在计算机视觉中 ...

  6. JAVA开发类似冒险岛的游戏Part1

    JAVA开发类似冒险岛的游戏Part1 一.总结 二.JAVA开发类似冒险岛的游戏Part1 初学嘛) ,不过总的来说这个程序还是很有意思的.这里我重新再整理了一下,希望能帮助到其他想要开发类似程序的 ...

  7. cmake的使用笔记

    一. cmake使用网上还蛮多的.可是当你自己去用的时候,才觉得,都不是你想要的. 自己做个记录,用法全是基本用法. 二. 我在里面直接写注释说明了,直接贴了. 1. #cmake #1. # cma ...

  8. 折腾了我两天的springboot数据源datasource循环依赖问题,都被搞疯掉了

    在做项目重构的时候增加了两个功能 1.多数据源. 2.token的验证从以前的数据库验证,移到了redis端. 1.多数据源使用 druid-spring-boot-starter 套件 其核心代码如 ...

  9. 互信息 & 卡方 - 文本挖掘

    在做文本挖掘,特别是有监督的学习时,常常需要从文本中提取特征,提取出对学习有价值的分类,而不是把所有的词都用上,因此一些词对分类的作用不大,比如“的.是.在.了”等停用词.这里介绍两种常用的特征选择方 ...

  10. 支付宝支付返回通知时 notify_url和return_url的选择

    页面跳转同步通知页面特性(return_url特性) 买家在支付成功后会看到一个支付宝交易提示成功的页面,该页面会停留几秒,然后会自动跳转回商户指定的同步通知页面(参数return_url) 该页面中 ...