CocoaPods
作者:
FunkyRay | 来源:发表于
2017-12-24 16:33 被阅读15次
简介:
集成第三方框架:
1.使用步骤:
- 创建Podfile文件 :
touch podfile/pod init
- 打开Podfile文件进行描述,一般使用Xcode来打开
- 搜索需要导入的框架描述 :
pod search + 框架名称
- 将搜索出来的结果拷贝到Podfile文件中并保存
- 安装第三方框架 :
pod install --no-repo-update
2.常用指令及说明:
-
help
或者 命令 -help
:查找相关命令行
-
pod --help
:搜索pod相关命令
- podfile.lock文件 :第一次pod时候会自动生成该文件,用来描述当前导入框架版本号
-
pod repo
:管理索引库,去寻找框架有无最新版本,有就记录下,pod install
和pod update
都是根据这个命令去进行的
-
pod repo remove master
:移除仓库源
-
pod repo add master xxx
:添加仓库源
-
pod install --no-repo-update
:在不更新索引库的前提下进行添加
-
pod install
:第一次时候会根据Podfile文件去加载,之后都会根据podfile.lock去加载
-
pod update
:去查看当前导入框架有无新版本,有新版本就会加载,并更新podfile.lock文件,会先去执行pod repo
,更新比较耗时
-
pod setup
:初始化(下载服务器中所有第三方框架信息, 缓存到电脑本地)
- 索引缓存路径:
~/Library/Caches/CocoaPods/
- pod命令安装路径:
/usr/local/bin
- pod框架索引信息缓存路径:
/Users/ray/.cocoapods/repos/master
3.使用注意:
- 第一次
pod install
时是根据Podfile这个文件去进行pod的,之后再次输入该命令都是根据podfile.lock这个文件进行pod的;
而pod update
是根据Podfile这个文件去进行pod的,因为Podfile文件里没有指定版本号,所以每次输入这个命令都会查找最新的版本并进行更新下载,这样就可能会造成团队开发中pod的第三方框架版本不同,容易发生问题。
- 使用
pod search
命令检索时,如果报错提示找不到该框架,这时可以删除CocoaPods检索文件并重新生成:rm ~/Library/Caches/CocoaPods/search_index.json
开发第三方框架:
1.使用步骤:
- 如果是要上传到GitHub的远程公开库,通过pod建立本地公开索引库就可以;
如果是要上传到个人或公司的远程私有库,需要先建立本地私有索引库 pod repo add 索引库名 远程索引库地址
- 创建模板库
pod lib create 框架名称
- 如果没有创建模板库,需要创建一个PodSpec文件:
pod spec create 框架名称
- 代码拖入Classes文件夹中,并在测试工程中进行
pod install
安装测试
- 上传到远程代码仓库,并打好标签
- 配置PodSpec文件
- 校验PodSpec文件里的字段
pod lib lint
:验证本地环境
pod spec lint
:验证远程环境
-
如果是要上传到远程公开索引库:
注册trunk :pod trunk register 383265136@qq.com 'liuleiai1' --verbose
进入邮箱确认链接并上传到远程索引库 :pod trunk push XXX.podspec
等待审核
-
如果是要上传到远程私有索引库:
执行命令:pod repo push SpecName XXX.podspec
2.配置PodSpec文件说明:
-
s.name :框架名称
'LLKit'
-
s.version :版本号
0.0.1
-
s.summary :描述
-
s.description :详细描述,一定要比s.summary字数要长
-
s.homepage :框架链接地址
'https://coding.net/u/liuleiai1/p/LLKit'
-
s.license :协议
{ :type => 'MIT', :file => 'LICENSE' }
-
s.author :作者
{ 'liuleiai1' => '383265136@qq.com' }
-
s.source :框架映射地址
{ :git => 'https://git.coding.net/liuleiai1/LLKit.git', :tag => s.version.to_s }
里面的tag要和s.version保持一致
-
s.source_files :下载source地址指定tag文件夹下的所有文件
'LLKit/Classes/**/*'
-
s.dependency :当前框架所依赖的第三方库
s.dependency 'AFNetworking', '~> 2.3'
3.注意:
- 集成本地私有库时,需要在Podfile文件里指定pod路径就可以:
pod 'test', :path => '../test'
- PodSpec文件在上传到远程私有索引库时,是直接上传到本地私有索引库,执行命令后会自动再上传到远程私有索引库
- 在Podfile文件里既然引用个人私有的索引库,也要引用CocoaPods公开的索引库:
source 'https://git.coding.net/liuleiai1/PrivateSpec.git'
source 'https://github.com/CocoaPods/Specs.git' #官方仓库的地址
- 更新自己开发的框架,由于上传PodSpec文件的时候已经更新过本地索引库,所以可以使用
pod update --no-repo-update
进行更新,速度更快
- 如果框架里需要扩展子库,可以在PodSpec文件里这么写:
s.subspec 'Category' do |c|
c.source_files = 'LLKit/Classes/Category/**/*'
end
- 在Podfile文件里导入框架其中的某个子框架
pod 'LLKit/Category'
导入多个子框架 pod 'LLKit', :subspec => ['Category', 'Tool']
本文标题:CocoaPods
本文链接:https://www.haomeiwen.com/subject/grshgxtx.html
网友评论