iOS 创建依赖其他开源库的开源库

参考文章(感激各位大神前路的明灯)

参考文章一
参考项目

整体流程
  1. 流程简介
    1)使用pod命令行创建本地项目和git仓库并回答终端里的四个问题
    2)编辑podspec文件
    3)将需要开源的代码添加到Development Pods文件夹中,并使用Example项目测试开源库是否有问题
    4)提交所有改动到git仓库中
    5)打tag
    6)验证podspec文件并修改出现的问题
    7)发布开源库

  2. 详细流程

1) 使用pod命令行创建本地项目和git仓库并回答终端里的四个问题

pod lib create LQGPhotoBrowser
  • 上面这一行的作用是创建测试demo、开源库编辑工程、git仓库、license文件、podspec文件(制作开源库需要的除开源代码以外的需要配置的文件已经通过下面的命令行全部创建完成), LQGPhotoBrowser 是开源库的名称
  • 下面是需要做选择的问题:
    • 第一个问题:选择语言
    • 第二个问题:是否创建demo工程
    • 第三个问题:使用什么框架
    • 第四个问题:是否需要测试view
    • 第五个问题:类名前缀

第一步流程

  • 根据下面图片认识目录结构,从上到下依次是
    • podspec文件
    • 测试开源库的demo工程
    • 开源库代码编辑文件

开源库工程项目结构


2)编辑podspec文件

  • 这里的重点就是
s.dependency   'AFNetworking'
  • 完整的编辑请参考下面的文章

参考文章


3)将需要开源的代码添加到Development Pods文件夹中,并使用Example项目测试开源库是否有问题

  • 这一步需要注意在运行测试demo之前需要pod install

4)提交所有改动到git仓库中

  • 该部分请自行百度

5)打tag

  • 打tag
git tag 1.0.0 
  • push tag
git push origin 1.0.0

6)验证podspec文件并修改出现的问题

  • 验证podspec文件是否正确
 pod spec lint LQGPhotoBrowser.podspec --verbose --allow-warnings
  • 验证成功的标志

podspec文件验证成功


7)发布开源库

  • 如果没有注册trunk,请注册一下,注意此处有的邮箱支持的不好,建议使用QQ邮箱,下面第一行是检查是否注册过trunk,第二行是注册trunk
pod trunk me
pod trunk register testMail@qq.com "testName" --verbose
  • 发布开源库的命令
pod trunk push LQGPhotoBrowser.podspec
  • 发布成功

发布成功的标识


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/590028.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python量化炒股的获取数据函数—get_fundamentals_continuously()

Python量化炒股的获取数据函数—get_fundamentals_continuously() get_fundamentals()函数只能用于查询某一交易日的股票财务数据信息,如果要查询多个交易日的股票财务数据信息,就要使用get_fundamentals_continuously()函数,语法格式如下&a…

[方法] Unity 实现仿《原神》第三人称跟随相机 v1.0

参考网址:【Unity中文课堂】RPG战斗系统Plus 在Unity游戏引擎中,实现类似《原神》的第三人称跟随相机并非易事,但幸运的是,Unity为我们提供了强大的工具集,其中Cinemachine插件便是实现这一目标的重要工具。Cinemachi…

手机配置在线检测工具微信小程序源码

手机配置在线检测工具微信小程序源码,这是一款升级版检测工具,自动检测手机真伪,序列号等。另外还可以给手机检测各项功能是否正常。 支持多做流量主模式,还有外卖CPS,和友情小程序推荐等 源码免费下载地址 抄笔记(chaobiji.cn)

Servlet(一些实战小示例)

文章目录 一、实操注意点1.1 代码修改重启问题1.2 Smart Tomcat的日志1.3 如何处理错误 一. 抓自己的包二、构造一个重定向的响应,让页面重定向到百度主页三、让服务器返回一个html数据四、表白墙4.1 约定前后端数据4.2 前端代码4.3 后端代码4.4 保存在数据库的版本…

【学习vue 3.x】(二)组件应用及单文件组件

文章目录 章节介绍本章学习目标学习前的准备工作Vue.js文件下载地址 组件的概念及组件的基本使用方式组件的概念组件的命名方式与规范根组件局部组件与全局组件 组件之间是如何进行互相通信的父子通信父子通信需要注意的点 组件的属性与事件是如何进行处理的组件的属性与事件 组…

软件测试(实验五)——Jmeter的使用

目录 实验目的 一、使用JMeter演示取样器、监听器、配置元件、断言的使用; 1、取样器 2、监听器 3、配置元件的使用 ① 用户定义的变量 ②HTTP信息头管理器 ③HTTP请求默认值 ④CSV数据文件设置 4、断言 ①响应断言 ②JSON断言 ③断言持续时间 二、使用…

C语言之位操作符:<<、>>、、|、^、~,以及原码反码补码和例题详解

目录 前言 一、原码、反码、补码 二、移位操作符 三、位操作符&#xff1a;&、|、^、~ 四、经典例题分析&#xff1a; 总结 前言 本文将详细介绍C语言中左移操作符<<&#xff0c;右移操作符>>&#xff0c;按位与&&#xff0c;按位或|&#xff0c;按位异或^…

【QT学习】14补充,使用线程制作绘图工具

思路&#xff1a; 结果&#xff1a; 点击刷新图片&#xff0c;自动绘制一个六点连接图 线程类的属性 线程类的函数实现 void MyThread::drawImage(){//Qimage设备QImage image(600,600,QImage::Format_ARGB32);//画家QPainter p(&image);//画笔&#xff0c;画刷QPen pen;pe…

进位计数制

目录 前言 最古老的计数方法 十进制数 推广:r 进制计数法 任意进制->十进制 二进制<->八进制,十六进制 十进制->任意进制 真值和机器数 总结: 前言 本篇文章我们正式进入第二章:数据的表示和运算,通过第一章的学习我们知道了现代计算机的结构 那数据如何…

基于php+mysql+html图书管理系统(含实训报告)

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、Php、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

自然语言处理 (NLP) 中的迁移学习

--懂王 在大数据高速发展的时代&#xff0c;AI的发展日新月异&#xff0c;充满挑战的迎接未来。 自然语言处理 (NLP) 中的迁移学习: 迁移学习在 NLP 中越来越受欢迎&#xff0c;特别是在数据稀缺的情况下。如何有效地利用预训练的语言模型&#xff0c;并将其迁移到新的任务和领…

kubectl_入门_service详解

Service 我们知道 Pod 的生命周期是有限的。可以用 ReplicaSet 和Deployment 来动态的创建和销毁 Pod&#xff0c;每个 Pod 都有自己的 IP 地址&#xff0c;但是如果 Pod 重建了的话那么他的 IP 很有可能也就变化了。 这就会带来一个问题&#xff1a;比如我们有一些后端的 Po…

基于Springboot的教学资源共享平台(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的教学资源共享平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

【Cpp】类和对象#构造函数 析构函数

标题&#xff1a;【Cpp】类和对象#构造函数 析构函数 水墨不写bug &#xff08;图片来源于网络&#xff09; 正文开始&#xff1a; &#xff08;一&#xff09;构造函数 构造函数是特殊的成员函数&#xff0c;需要注意的是&#xff0c;构造函数虽然名称叫构造&#xff0c;但…

nginx变量自定义日志收集

内置变量 $remote_addr&#xff1b;存放了客户端的地址&#xff0c;注意是客户端的公网IP&#xff0c;也就是一家人访问一个网站&#xff0c;则会显示为路由器的公网IP。 $args&#xff1b;变量中存放了URL中的指令 [rootlocalhost conf.d]# cat pc.conf server {listen 80;se…

数组的扩容与缩容

数组的扩容与缩容 文章目录 数组的扩容与缩容数组的扩容内存分析 数组的缩容内存分析内存分析 数组的扩容 数组扩容是指当原有数组的空间不足以容纳更多的元素时&#xff0c;创建一个新的、长度更大的数组&#xff0c;并将原数组中的元素复制到新数组中&#xff0c;然后更新原…

C++入门第二节--关键字、命名空间、输入输出

点赞关注不迷路&#xff01;本节涉及c入门关键字、命名空间、输入输出... 1. C关键字 C总计63个关键字&#xff0c;C语言32个关键字 asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseen…

如何完全卸载QT

第一步&#xff0c;用QT自带的软件卸载QT 第二步&#xff0c;卸载下面路径的所有QT配置 C:用户/(你的用户)/AppData/Local/目录下所有与Qt相关内容 C:用户/(你的用户)/AppData/Local/Temp/所有与Qt相关内容 C:用户/(你的用户)/AppData/Roaming/所有与Qt相关内容

C 深入指针(2)

目录 1 野指针 1.1 成因 1.2 如何规避野指针 2 assert 断言 2.1 用法 2.2 assert 的优点 2.1 assert 的缺点 3 小注解 3.1 Debug 和 Release 1 野指针 【概念】&#xff1a; 野指针就是指针指向的位置是不可知的&#xff08;随机的、不正确的、没有明确限制的&#…

场景文本检测识别学习 day06(Vi-Transformer论文精读、MAE论文阅读)

Vi-Transformer论文精读 在NLP领域&#xff0c;基于注意力的Transformer模型使用的非常广泛&#xff0c;但是在计算机视觉领域&#xff0c;注意力更多是和CNN一起使用&#xff0c;或者是单纯将CNN的卷积替换成注意力&#xff0c;但是整体的CNN 架构没有发生改变VIT说明&#x…