0%

CocoaPods不完全食用指南 — 指令集

Gem


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#查看当前源
gem sources -l

#移除源
sudo gem sources --remove https://rubygems.org/

#添加源
sudo gem sources -a https://gems.ruby-china.com/

#升级Gem
sudo gem update --system

#卸载
sudo gem uninstall cocoapods

#查看本地安装过的CocoaPods相关
gem list --local | grep cocoapods

CocoaPods


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#安装CocoaPods
sudo gem install cocoapods

#设置仓库
pod setup

#查看当前版本号
pod --version

#创建Podfile
touch Podfile

#搜索第三方库:<#name#>
pod search <#name#>

#导入第三方库,默认会执行pod repo update指令
pod install

#导入第三方库
pod install --no-repo-update

#更新第三方库,默认会执行pod repo update指令
pod update

#更新第三方库
pod update --no-repo-update

#清除缓存文件 search_index.json
rm ~/Library/Caches/CocoaPods/search_index.json

#删除本地的Podspec仓库,<#name#>为仓库名字
pod repo remove <#name#>

#本地添加Podspec仓库,<#name#>为仓库名字,<#source#>为仓库地址
pod repo add <#name#> <#source#>

#更新本地Podspec仓库,<#name#>为仓库名字
pod repo update <#name#>

#创建一个Pod制作工程,<#project#>为工程名字
pod lib create <#project#>

#验证制作的Podspec是否通过
pod lib lint

#验证制作的Podspec是否通过,编译库文件,允许警告
pod lib lint --allow-warnings --use-libraries

#发布制作的Podspec
pod repo push <#name#> <#spec#>

#发布制作的Podspec,编译库文件,允许警告
pod repo push <#name#> <#spec#> --allow-warnings --use-libraries

#本地Pod库缓存列表
pod cache list

#删除本地名为<#name#>库的缓存
pod cache clean <#name#>

参数 --verbose--silent

这两个参数是用来控制 pod 命令的,在看到输出的情况下可以选择 --silent 。而对于在执行这命令的情况下如果出错,则可能添加 --verbose 的参数能看到具体的出错信息。--verbose则是用来输出这两条命令执行过程中所包含的所有信息,对于大多数的 Cocoapods 的命令行来说都带有着两个参数。

Podfile


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#适配iOS 8.0及以上系统
platform :ios, '8.0'

#编译成动态库
use_frameworks!

#屏蔽警告
inhibit_all_warnings!

#官方开源库地址
source 'https://github.com/CocoaPods/Specs.git'

#私有库地址
source 'https://xxxxx.com/xxxx/xxxx.git'

#适配名字为App的工程
target 'App' do

#导入AFNetworking 3.0及以上的版本
pod 'AFNetworking', '~> 3.0'

#适配名字为AppTests的子工程
target 'AppTests' do
pod 'FBSnapshotTestCase'

end

end

注: use_frameworks! 指明编译成动态库,而不是静态库。它会把所有项目的编译动态库,这一点不太好,但是在使用 Swift 库的过程中必须加上这句。

关于Podfile文件编辑时,第三方库版本号的各种写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#不显式指定依赖库版本,表示每次都获取最新版本
pod 'AFNetworking'

#只使用2.0版本
pod 'AFNetworking', '2.0'

#使用高于2.0的版本
pod 'AFNetworking', '>2.0'

#使用大于或等于2.0的版本
pod 'AFNetworking', '>=2.0'

#使用小于2.0的版本
pod 'AFNetworking', '<2.0'

#使用小于或等于2.0的版本
pod 'AFNetworking', '<=2.0'

#使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod 'AFNetworking', '~>0.1.2'

#使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '~>0.1'

#高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
pod 'AFNetworking', '~>0'

#使用yanff的AFNetworking版本
pod 'AFNetworking', :git => 'https://github.com/yanff/AFNetworking.git'

#使用2.x分支的版本
pod 'AFNetworking', :branch => '2.x'

更多