Cocoapods打包流程
一、创建framework
1. pod lib create ZXBannerView 创建项目,并在选项加入example,创建示例代码。
2. 修改ZXBannerView.podspec文件
1.确认版本号 : s.version字段填写当前版本号,如:0.1.1
2.填写项目简述,用户在pod search时,可以直接读到该项目的简介s.description,简介应当写得简单,让人容易理 解。
3.项目首页,填写GitHub中该项目的首页 s.homepage
4.源码位置s.source,这个路径可以是本地,也可以是github远程路径,因为我们要打包到pod
trunk上,提供pod直接安 装,所以直接填写github路径
5.支持IOS版本s.ios.deployment_target= ‘8.0’
6.是否支持ARC机制s.requires_arc = true
7.源码路径s.source_files,这个地方填写库文件的.m文件,一般存放于ZXBannerView/Classes
8.公开头文件的路径s.public_header_files,一般和.h文件 存放在一起
9.依赖包路径,如果依赖包支持pod安装,则可以使用 s.dependency,可以多行添加。
s.dependency 'SDWebImage', '~> 4.3.3'
s.dependency 'Masonry', '~> 1.1.0'
3. 进入Example目录,执行 pod install 安装依赖包
4. 放置源码文件到ZXBannerView/Classes目录下(位置是相对路径,s.source_files和s.public_header_files放一起)
5. 提交tag到github代码库
git add -A #监控工作区状态树,把所有文件变化 (增, 删,改)文件提交到暂存区
git commit -a -m 'v0.1.0' #提交版本更新
git tag -a 0.1.0 -m 'v0.1.0' #将提交的版本打成tag
git tag -l #查看所有tag
如打错版本号,可使用git tag -d 0.1.2 删除错误的tag,
git push origin #上传本地代码到远程分支
6. 验证库是否符合pod要求
pod lib lint ZXBannerView.podspec --allow-warnings
验证库会从podspec文件开始检查配置的正确性,其中s.source 如果填写的是github的远程目录,则必须保证当前版 本的tag 已提交到github上,因为验证或打包时,都会从该路径去获取代码。
ZXBannerView passed validation. 出现该提示说明验证通过
7. 打包类库(可选)
如果只需要打包framework或者静态库可以参考本节,因为提交pod trunk 不需要在本地打包framework。
cocoapods-packager如未安装可以使用sudo gem install cocoapods-packager安装
podpackage ZXBannerView.podspec -–force --verbose #打包成framework后会在目录下生成一个带版本号的 ZXBannerView文件夹,里面存放的就是framework。
如果没有异常,framework就已经打包完成了,s.source如果填写的是github的远程路径,那么打包的代码就是从远程获取的,如果是本地路径,就是从本地获取的。
二.提交到trunk上,提供pod install直接安装
trunk上传时,需要到github上去拉取源码来编译类库,trunk上的版本也是根据ZXBannerView.podspec内的s.version来确定的,要注意的是,s.version填写的版本必须在github上已经存在,否则pod spec lint时将无法通过检测,也无法打包。
1. 创建账号: pod trunk register [email protected] --description="描述" –verbose
创建成功会收到邮件,进入邮箱中验证(如有账号可忽略)
pod trunk me 可查看trunk账户信息
2. 验证podspec
pod spec lint ZXBannerView.podspec --allow-warnings
提示ZXBannerView.podspec passed validation.表示检测通过
3.提交trunk
pod trunk push --allow-warnings
提交成功后就可以通过pod search ZXBannerView找到了。
4. 验证
现在已经可以通过pod install安装了,如果搜索不到,删除search_index.json然后在重新pod search。
rm /Users/xxxxx/Library/Caches/CocoaPods/search_index.json #删除search_index.json
pod search zxbannerview