Cocoapods使用教程


一、进项项目文件中

用xcode创建一个project,已经创建过的话,用终端进入这个project.我用Xcode创建的CcocoaPodsDemo放在桌面,现在输入指令进入这个project中:

1
cd desktop/CcocoaPodsDemo

二、在项目中创建一个Podfile文件

1
touch Podfile

查看一下文件里面有没有这个文件

三、编辑Podfile文件

双击进入Podfile文件,编辑一下Podfile

1
2
3
4
5
6
7
8
9
10
platform :ios, '7.0'
inhibit_all_warnings!
xcodeproj 'CocoaPodsDemo'
workspace 'CocoaPodsDemo'
use_frameworks!
target 'CocoaPodsDemo' do
pod 'Reachability', '~> 3.2'
pod 'JSONKit', '~> 1.5pre'
pod 'AFNetworking', '~> 3.0.4'
end

编辑完PodFile保存一下,在终端执行一下

1
pod install

四、CocoaPods常用语法解释

指定特定CocoaPodsDemo的依赖库

1
target 'CocoaPodsDemo' do

指定了开源库应该被编译在哪个平台以及平台的最低版本

若不指定平台版本,官方文档里写明各平台默认值为iOS:4.3,OS X:10.6,tvOS:9.0,watchOS:2.0

1
platform:ios,'8.0'

屏蔽cocoapods库里面的所有警告

1
inhibit_all_warnings!

明确指定继承于父层的所有pod,默认就是继承的

1
inherit! :search_paths

使用frameworks动态库替换静态库链接

1
use_frameworks!

屏蔽制定YYMOdel库里面的警告

1
pod 'YYMOdel', :inhibit_warnings => true

指定项目空间名字,默认就是项目的名字

指定工程文件名,默认就是项目的名字

1
2
workspace '项目空间名'
xcodeproj '工程文件名'

指定继承于父层的所有pod,默认就是继承的

1
inherit! :search_paths
1
2
3
4
5
6
7
8
9
pod 'YYMOdel', //表示每次都获取最新版本
pod 'YYMOdel', '0.01'//只使用0.0.1版本
pod 'YYMOdel', '>0.0.1' //使用高于0.0.1的版本
pod 'YYMOdel', '>=0.0.1' //使用大于或等于0.0.1的版本
pod 'YYMOdel', '<0.0.2' //使用小于0.0.2的版本
pod 'YYMOdel', '<=0.0.2' //使用小于或等于0.0.2的版本
pod 'YYMOdel', '~>0.0.1' //使用大于等于0.0.1但小于0.1的版本,相当于>=0.0.1&&<0.1
pod 'YYMOdel', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'YYMOdel', '~>0' //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
1
2
3
4
5
6
7
8
//使用仓库中的master分支:
pod 'YYMOdel', :git => 'https://github.com/ibireme/YYModel.git'
//使用仓库的其他分支:
pod 'YYMOdel', :git => 'https://github.com/ibireme/YYModel.git' :branch => 'release'
//使用仓库的某个tag:
pod 'YYMOdel', :git => 'https://github.com/ibireme/YYModel.git', :tag => '0.0.1'
//或者指定一个提交记录:
pod 'JYCarousel', :git => 'https://github.com/Delyer/YYMOdel.git', :commit => '5e473f1e0530bb3799f2f0d70554b292570bd8f0'

一个podspec能够从外部的仓库源的获取

1
pod 'JSONKit', :podspec => 'https://example.com/JSONKit.podspec'

五、第三方库更新

执行 pod repo update更新本地仓库,作用类似pod setup。

不过这个命令经常不单独调用。比如执行pod setup、pod search、pod install、pod update会默认执行pod repo update

1
pod repo update

把Podfile内全部的库更新重新安装

1
pod install

该命令只安装新添加的库,已更新的库忽略(推荐这种比较速度比较快一点)

安装开源库之前, 不会执行pod repo update指令

1
pod install --verbose --no-repo-update

所有第三方到最新版本

1
pod update 

更新指定的库更新到最新版本,其它库忽略

安装开源库之前, 不会执行pod repo update指令

1
pod update 库名 --verbose --no-repo-update

六、生成的文件

  1. Podfile文件:
    项目的第三方库的依赖以及项目的基本配置
  2. Podfile.lock文件:
    最后一次更新Pods时, 保存所有第三方框架的版本号
  3. xxx.xcworkspace文件:
    重新生成一个工作空间,打开这个工程文件来进行开发
  4. pods目录:
    保存通过pod install 或者 pod update下载下来的第三方开源库的源代码

总结

CocoaPods还是要多实践,多操作。体验管理第三方库的便利