前言:因为直接发布到pod的项目都是开源的,所以需要先打包,打包之后发布就是只开放h文件的了
一.打包静态库
网上有两种方法,一种是手动打包,一种是用cocopods打包,我用的是第二种,因为我一开始创建项目的时候用了pod创建的。下面步骤走起
1.创建工程
pod lib create MytestDemo
用上面命令可以创建工程,然后会提示有问题,按自己需求填写就可以
创建pods截图最后一个问题填你项目的前缀。中间三个,按我截图填写就可以。
创建完成的工程目录Examle可以是项目的demo,编译完以后可以在这里测试。
MytestDemo源程序文件,里面有Assets和Classes文件夹。Assets放置图片等资源,xib、storyboard、bundle以及db数据库文件都可以放在这里面。Classes文件里面放置源码。你也可以不用Assets和Classes只要相应修改podspec文件就可以。
-podspec文件介绍
MytestDemo.podspec2.放入源文件
在MytestDemo/Classes中放入需要打包的文件,我放了一个简单的数量转换方法。
需要打包的方法3.验证本地库
pod lib lint MytestDemo.podspec --verbose --use-libraries --allow-warnings
--verbose 输出详情
--use-libraries 如果依赖库(s.dependency)包含了.a静态库通过这个这个来变验证通过
--allow-warnings忽略警告
注:lib验证本地库s.source可以是path。
成功后的输出这个时候其实已经可以使用本地库了,可以在需要使用本地库的demo项目中通过pod集成,例子:
pod 'MytestDemo', path: '../MytestDemo/'
在demo中跑通就可以开始准备打包了。
注:这个过程大家可能会遇到很多错误,这个时候error是一定要处理的,然后如果error处理完了,验证还是有错就去检查note里面有没有error,都处理完成就可以验证过了。主要就是少头文件之类的错误。有耐心就可以了。
4.打tag
4.1 首先去github上创建一个开源的项目
GitHub创建项目截图4.2 提交源码,不需要push
提交源码4.3 打tag
git tag 0.1.0
git push --tags
这里的tag版本需要和之前 podspec文件中的一样
5.打包本地库
5.1 安装一个 CocoaPods 打包插件
CocoaPods-Packager 安装命令如下
sudo gem install cocoapods-packager
这一步需要先安装brew,命令如下
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
5.2 打包库
pod package MytestDemo.podspec --no-mangle --force
同样可以创建demo来验证打包后的pods,不一样的是这时候demo里面已经看不到sdk中的.m文件了。
因为我用了新的git管理打包后的pods所以有git文件之后发布也是用这个新的git。
注:这里的podspec文件需要重新添加项目中的依赖s.frameworks和s.dependency。因为之前的依赖只用于打包,这里加的依赖是给使用sdk的人用的。
二.发布打包完成的库
1. 创建cocopod账号
pod trunk register 你的邮箱地址 ‘用户名’ -verbose
注册成功你会有一份邮件,验证一下就可以了
pod trunk me
查看账号信息,注册成功你可以终端看到账号信息的输出
2. 验证待发布的库
pod spec lint MytestDemo.podspec
注:spec只能验证远程库,请先将打包后的工程提交到git或者svn上。lib验证本地库s.source可以是path。
3. 发布
pod trunk push MytestDemo.podspec --verbose --use-libraries --allow-warnings
4. 搜索发布的库
pod search MytestDemo
最后写一下大文件支持
git 大文件支持
git lfs track “你的文件名”
git add .gitattributes
再重新提交一次git
最后的最后祝大家打包顺利
网友评论