CocoaPods 命令

pod init 在新建的项目根目录下运行该命令,为当前项目新建podfile文件。
pod install 下载和配置 podfile里定义的项目依赖(不包括已经下载和配置的项目依赖)。(新建podfile.lock文件)并将每个依赖的版本信息记录在podfile.lock文件中。为项目新建.xcworkspace文件。
pod outdated 列出比podfile.lock文件中记录的版本要新的项目。
pod update [依赖项目名称] 将某个依赖更新到最新版本 直接pod udate就把所有依赖都更新到最新版本。

CocoaPods 使用

使用CocoaPods的项目比不使用的项目多了四个文件:分别为podfile文件、podfile.lock文件、.xcworkspace文件以及一个Pods文件夹。
podfile文件为项目的每个target定义(在不同的iOS版本上运行时)所需要的依赖项目。podfile.lock文件用于记录当前项目每个依赖项目的版本,保证该项目的版本信息不被改变。.xcworkspace文件为使用CocoaPods之后项目的启动文件,记录的所有项目文件之间的关系。Pods文件夹是项目的依赖存放的地方。
在项目中使用CocoaPods的关键在于新建一个profile文件。有了profile文件,其余的使用一句命令就可以自动完成。

1、新建项目并使用CocoaPods

在新建的项目根目录下运行该命令pod init命令。自动会在项目根目录下生成profile文件。至此完成了使用CocoaPods的准备工作。
接下来就是打开profile文件,定义依赖,并且运行pod install命令,就会为项目生成使用上面介绍的podfile.lock文件以及.xcworkspace文件。

2、已有项目使用CocoaPods

手动在项目根目录下新建profile文件,定义相关依赖,然后运行pod install,也会生成上述三个文件。

注意事项

1、初次使用

初次使用CocoaPods的pod install命令,CocoaPods自身会自动进行初始化。初始化所做的其实就是把github上的整个依赖库下载到本地路径/users/用户名/.cocoapods/repos/master文件夹下。但是在国内是不行的,被墙,也就是会一直卡在CocoaPods set up master repo这句话上不动了,或者过了很久给你报错说unable to install bla bla bla …这时可以上github上下载(地址:https://github.com/CocoaPods/Specs),然后把下载到的内容自己复制到这个路径下就好了(或者让其他已经用上CocoaPods的人airdrop过来比下载更快,毕竟文件好大。。)。master下文件结构如图:

上图中,Specs就是整个依赖库。
2、版本控制
podfile.lock文件应该始终参与版本控制。

profile文件的基本语言格式

1、基本格式

为某个target定义依赖的格式
最简单的例子:
target 'MyApp' do
pod 'AFNetworking', '~> 3.0'
pod 'FBSDKCoreKit', '~> 4.9’
end
1
2
3
4
继承大do - end之间定义的依赖项目
target 'MyApp' do
pod 'GoogleAnalytics', '~> 3.1'
target 'MyAppTests' do
inherit! :search_paths
pod 'OCMock', '~> 2.0.1'
end
end
1
2
3
4
5
6
7
上面MyAppTests也依赖GoogleAnalytics。

定义多个target共享的依赖项目使用abstract_target
# There are no targets called "Shows" in any Xcode projects
abstract_target 'Shows' do
pod 'ShowsKit'
pod 'Fabric'

# Has its own copy of ShowsKit + ShowWebAuth
target 'ShowsiOS' do
pod 'ShowWebAuth'
end

# Has its own copy of ShowsKit + ShowTVAuth
target 'ShowsTV' do
pod 'ShowTVAuth'
end
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上面的Shows只是个标识,并不存在这样的target。但在它的do-end之间定义的其他的target会共享这个abstract_target所定义的依赖。

定义项目中所有target都使用的依赖项目
直接不加任何修饰地定义就可以了,如下:
pod 'ShowsKit'
pod 'Fabric'

# Has its own copy of ShowsKit + ShowWebAuth
target 'ShowsiOS' do
pod 'ShowWebAuth'
end

# Has its own copy of ShowsKit + ShowTVAuth
target 'ShowsTV' do
pod 'ShowTVAuth'
end
1
2
3
4
5
6
7
8
9
10
11
12
2、项目版本的指定
- 指定某个版本:
pod ‘项目名称’, ‘版本号’
如:
pod 'Objection', '0.9'

给出版本范围
符号>、>=、<、<=都能用,
如:
'> 0.1'
符号~>用法见如下例子:
'~> 0.1.2'
表示范围为>=0.1.2&&<0.2
'~> 0.1'
表示范围为>=0.1&&<1
3、添加本地项目作为依赖
如:
pod 'Alamofire', :path => '~/Documents/Alamofire'

以上例子全部来自官网。
---------------------
作者:ohyeahhhh
来源:CSDN
原文:https://blog.csdn.net/ohyeahhhh/article/details/51878549
版权声明:本文为博主原创文章,转载请附上博文链接!

CocoaPods 命令和使用的更多相关文章

  1. cocoapods 命令

    1.使用CocoaPods a  新建一个项目,名字cocoapods

  2. iOS -- CocoaPods

    CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 GitHub( https://github.com/CocoaP ...

  3. 安装cocoapods以及更新cocoapods

    安装 1.设置ruby的软件源 这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,过程如下: gem sources -l #(查看当前 ...

  4. 安装cocoapods及相关问题解决

    申明:本博客大部分内容转载自简书http://www.jianshu.com/p/b64b4fd08d3c,但还有些问题博主在这里做了补充. Mac系统版本:10.12.1 一.什么是CocoaPod ...

  5. 最新Mac OS X 10.12.1 安装cocoapods及使用详解

    cocoapods官网:https://cocoapods.org 一.什么是CocoaPods 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs ...

  6. 2016最新cocoapods安装流程,安装过程中遇到的问题及解决方法

    现在的cocoapods与之前比较.有很多不一样的地方.自己试了一试,终于搞定.现在大概纪录一下. 1.首先查看ruby是否是最新版的. ruby是通过rvm安装的所以需要先安装rvm后查看ruby是 ...

  7. CocoaPods安装和使用

    CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods. CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境.幸运的是OS X系统默 ...

  8. iOS 如何通过CocoaPods添加第三方框架

    一  先安装Ruby环境: http://ruby-china.org/wiki/install_ruby_guide 在安装的时候,若是出现: 1.You don't have write perm ...

  9. Cocoapods的安装与使用

    一.安装 1.CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境.OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令: sudo gem install cocoa ...

随机推荐

  1. 杂项-Java:Thymeleaf

    ylbtech-杂项-Java:Thymeleaf Thymeleaf is a modern server-side Java template engine for both web and st ...

  2. HDU 4893 Wow! Such Sequence! (树状数组)

    题意:给有三种操作,一种是 1 k d,把第 k 个数加d,第二种是2 l r,查询区间 l, r的和,第三种是 3 l r,把区间 l,r 的所有数都变成离它最近的Fib数, 并且是最小的那个. 析 ...

  3. Ruby IO类

    更新: 2017/06/23   表格大小全部改为100%                             文件输入输出的File....系列函数的文件名参数是字符串! 更新: 2017/06 ...

  4. 通过实现ServletContextListener接口创建数据库连接池(C3P0方式)

    使用Listener步骤 1. 定义Listener实现类 2. 在web.xml中配置(或使用Annotation) 使用C3P0方式创建数据库连接池需要添加的jar包 1.c3p0-0.9.5.j ...

  5. POJ3682;King Arthur's Birthday Celebration(期望)

    传送门 题意 进行翻硬币实验,若k次向上则结束,进行第n次实验需花费2*n-1的费用,询问期望结束次数及期望结束费用 分析 我们令f[i]为结束概率 \[f[i]=C_{i-1}^{k-1}*p^k* ...

  6. 重启fpm

    ps aux | grep php-fpm cat /etc/php-fpm.conf kill -USR2 `cat /run/php-fpm/php-fpm.pid

  7. bzoj 1072: [SCOI2007]排列perm【状压dp】

    先写了个next_permutation结果T了,于是开始写状压 设f[s][i]为选取状态为s,选的数模d为i的方案数,去重的话直接除以每个数字的出现次数的阶乘即可 #include<iost ...

  8. 洛谷 P3358 最长k可重区间集问题 【最大费用最大流】

    同 poj 3680 https:www.cnblogs.com/lokiii/p/8413139.html #include<iostream> #include<cstdio&g ...

  9. 购买阿里云ECS+安装宝塔面板+Mac下怎么连接阿里云ECS服务器

    1.购买阿里云ECS 2.重置实例密码 这个有点对用户不友好,实际意思就是设置服务器的root登录密码 3.配置安全组放行端口 因为服务器需要从宝塔网站download安装包,包括一些常用的服务比如S ...

  10. Python实现判断回文串

    回文数的概念:即是给定一个数,这个数顺读和逆读都是一样的.例如:121,1221,a,aa是回文数,123,1231不是回文数.  while 1: String = input('请先输入一个字符串 ...