前言:
iOS开发经常用到三方的库,通过CocoaPods来管理,那我们也可以写个工具类或造个*放上去,供别人使用。
我怕你们看见我拙劣的代码,所以上传的是Framework的动态库,那么开始我的心酸历程…
GitHub创建项目
- 按照图片所示创建一个Public库,许可证选择
MIT
- 随便找个地方,把项目clone到本地
配置podspec文件
- 打开
终端
cd到项目路径下执行pod spec create 项目名称
,这个时候会产生一个.podspec
文件,把它移动到项目根路径下(不要在同级),然后把你的工具类或静态库、动态库,放在项目根路径下。
pod spec create FQDateTimeSDK
- 使用
sublime Text
打开FQDateTimeSDK.podspec,或者vim
命令编辑,尽量不要使用文本编辑器。按照下图所示的进行配置就可以,都有注释。(记得保存)
校验podspec文件
- 把本地文件push到远程仓库
git add .
git commit -m '提交podspec文件'
git push
- 打tag(0.0.1 版本号要和podspec文件设置的一样)
git tag 0.0.1
git push --tags
- 校验podspec文件
pod spec lint FQDateTimeSDK.podspec --allow-warnings --verbose
–allow-warnings:消除警告(这个要加上要不有的warning也会校验失败)
–verbose:显示error详情
- 首先是检验成功
- 检验失败(网络错误),其实开发过程中,上传App Store啦、终端download命令啦、大部分错误都因为网络异常导致各种错误。这个时候要冷静分析,一般不需要*,还可以尝试把DNS改为
8.8.8.8
- 校验失败(系统架构问题)
报错:Ld .../Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/arm64/Binary/App normal arm64
解决办法: 在.podspec文件 添加
spec.pod_target_xcconfig = { 'VALID_ARCHS' => 'x86_64 armv7 arm64' }
仓库推送到CocoaPods上
- 注册trunk
终端输入一下命令
pod trunk register 邮箱 ‘用户名’
注意:邮箱为github上的登录邮箱、用户名为github上的用户名
注册后,你填写的邮箱会收到一份确认邮件,点击里面的链接,注册成功。
- 查看注册的信息
pod trunk me
- 推送到CocoaPods
把你的.podspec文件推送到CocoaPods上
pod trunk push FQDateTimeSDK.podspec
这样就大功告成了!
截图最下面给的HTTPS的链接是cocoaPods的,直接访问就可以链接到你的GitHub
CocoaPods库的使用
- 删除本地的搜索缓存
rm ~/Library/Caches/CocoaPods/search_index.json
pod search FQDateTimeSDK
这个时候你的网络给力的话,你是可以检索到你制作的cocoaPods库的,但是,我没有搜索到自己的库,AFNetworking可以搜索到,这个时候不用着急,创建一个工程,在Podfile文件里面 pod 'FQDateTimeSDK'
然后 执行pod install
,是可以下载下来的。
Done! Nice!