以我的开源库QXConsMaker为例,简单介绍pod的过程。
1、拉取代码
把git上的项目克隆到本地,并切换到本地目录。过程略。
2、创建spec文件
整个配置都是围绕这个文件展开的,过程不是很复杂。
pod spec create QXConsMaker
生成的文件为QXConsMaker.podspec
3、配置spec文件
Pod::Spec.new do |s|
s.name = "QXConsMaker"
s.version = "0.0.1"
s.summary = "The easiest way to layout in swift."
s.description = <<-DESC
The easiest way to layout in swift. Just enjoy!
DESC
s.homepage = "https://github.com/labi3285/QXConsMaker"
s.license = "MIT"
s.author = { "labi3285" => "766043285@qq.com" }
s.platform = :ios, "8.0"
s.source = { :git => "https://github.com/labi3285/QXConsMaker.git", :tag => "#{s.version}" }
s.source_files = "QXConsMaker/QXConsMaker/*.swift"
s.requires_arc = true
end
简单说明:
这个配置,把默认生成的文件注释部分去掉了。
s.name 第三方库的名称
s.version 版本号(这个一般习惯上和tag保持一致)
s.summary 简介, pod search的时候会显示
s.description 描述, pod search的时候会显示,这个要比summary长,不然会警告
s.homepage 首页,一般就是写git上的源代码路径,写别的也行
s.license 默认
s.author 作者信息,我是和git账号一致的
s.platform 设置适配的平台版本需求,没有版本号,可以不写
s.source 这个是源码的git路径,注意是主路径
s.source_files 这个是相对路径,也就是说你可以决定主路径下的某个分支路径为pod源码,支持通配符,如果是oc,".{h,m}"
s.exclude_files 这个和上面的相反,可以设置某路径下不包含的文件,我的库文件夹都要包含,所以不设置
s.requires_arc 设置需要ARC(自动引用计数)
s.frameworks 依赖的系统库,'SomeFramework', 'AnotherFramework'
s.libraries 依赖的lib, 'iconv', 'xml2'
s.xcconfig 依赖的工程配置,pod自动处理,{ 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/xxx' }
s.dependency 第三方依赖,JSONKit', '~> 1.4'
3、验证spec文件
这个可以提前验证spec文件是否合格
pod lib lint QXConsMaker.podspec
如果出现错误,依次解决
我这里遇到了swift版本的问题,按照错误提示,添加配置文件,告诉环境,我的swift版本
touch .swift-version
echo -> "3.1"
直到 passed validation,表示验证通过。
4、新建版本tag
这一步是必要的,为了保证你的库的稳定,每一个版本要对应一个tag,这里的tag名称为 0.0.1 和上面的配置对应
git tag 0.0.1
git push origin 0.0.1
5、上传配置
pod trunk push QXConsMaker.podspec --allow-warnings
第一次上传会报错 [!] You need to register a session first.
需要你设置一个验证邮箱,配置如下:
pod trunk register 766043285@qq.com 'labi3285' --description='macbook pro'
设置后需要到邮箱点击链接确认。之后重新上传配置就可以了。
这一步,遇到错误不要担心,网上随意就可以搜到解决办法。
6、大功告成
完成以上步骤,就算完成了。但是使用的时候需要注意下,需要pod为最新版本才可以找到你的库。
1、首先到~/Library/Caches/CocoaPods
目录下删除索引文件search_index.json
2、更新CocoaPods
pod repo update
在极端情况下,需要更新到beta版本,用到sudo gem install cocoapods --pre
3、验证
pod Search QXConsMaker
-> QXConsMaker (0.0.1)
The easiest way to layout in swift.
pod 'QXConsMaker', '~> 0.0.1'
- Homepage: https://github.com/labi3285/QXConsMaker
- Source: https://github.com/labi3285/QXConsMaker.git
- Versions: 0.0.1 [master repo]
OK!
网友评论