iOS制作cocoaPods库

Posted wuwuFQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS制作cocoaPods库相关的知识,希望对你有一定的参考价值。

前言:
ios开发经常用到三方的库,通过CocoaPods来管理,那我们也可以写个工具类或造个轮子放上去,供别人使用。
我怕你们看见我拙劣的代码,所以上传的是Framework的动态库,那么开始我的心酸历程…

诺诺罗亚索隆·三千世界

GitHub创建项目

  1. 按照图片所示创建一个Public库,许可证选择MIT
    在这里插入图片描述
  2. 随便找个地方,把项目clone到本地
    在这里插入图片描述

配置podspec文件

  1. 打开终端cd到项目路径下执行 pod spec create 项目名称,这个时候会产生一个 .podspec 文件,把它移动到项目根路径下(不要在同级),然后把你的工具类或静态库、动态库,放在项目根路径下。
pod spec create FQDateTimeSDK 

在这里插入图片描述

  1. 使用 sublime Text 打开FQDateTimeSDK.podspec,或者 vim 命令编辑,尽量不要使用文本编辑器。按照下图所示的进行配置就可以,都有注释。(记得保存)

配置podspec文件

校验podspec文件

  1. 把本地文件push到远程仓库
git add .
git commit -m '提交podspec文件'
git push
  1. 打tag(0.0.1 版本号要和podspec文件设置的一样)
git tag 0.0.1
git push --tags
  1. 校验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上

  1. 注册trunk
    终端输入一下命令
pod trunk register 邮箱 ‘用户名’

注意:邮箱为github上的登录邮箱、用户名为github上的用户名
注册后,你填写的邮箱会收到一份确认邮件,点击里面的链接,注册成功。

  1. 查看注册的信息
pod trunk me

在这里插入图片描述

  1. 推送到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!

以上是关于iOS制作cocoaPods库的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个 cocoapod 库

3-cocoaPods私有库制作

iOS-组件化开发之私有库制作与版本更新(持续更新)

iOS-组件化开发之私有库制作与版本更新(持续更新)

iOS代码组件化--利用cocoaPods创建私有库

组件化开发3-cocoaPods私有库制作