欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS之创建CocoaPods公有库教程

程序员文章站 2022-04-04 20:32:13
简介 在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中。 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install命令安装自己的框架该怎么做呢?下面,我就教大家一步一步的将自己的pods发布到CocoaPod ......

简介

在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中。

如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install命令安装自己的框架该怎么做呢?下面,我就教大家一步一步的将自己的pods发布到CocoaPods中。如果你现在对CocoaPods还不太了解,推荐你看一看这篇文章:CocoaPods的安装与使用

流程

1、注册CocoaPods账户信息
2、创建共享库文件并上传到公有仓库
3、编辑.podspec文件
4、打tag, 发布一个release版本
5、发布自己的库描述文件podspec给cocoapods
6、关于查找和使用新创建的库
7、更新维护podspec

下面就创建CocoaPods公有库做一下分享:

一、在github上创建项目,复制项目的链接路径,例如:https://github.com/sunjinshuai/MYSementManager;

iOS之创建CocoaPods公有库教程

备注:
1、GitHub仓库的名称,不允许重名。
2、开源协议,一般都选择MIT

二、使用命令行、sourceTree或者GitHub Mac版将项目克隆到本地新建的一个文件夹中;

三、cd进入本地该文件夹,将自己之前的工程文件(demo)以及共享文件(共享库Lib)拖入其中,并创建公有仓库,例如:

pod spec create cocoaPodsName;
 
iOS之创建CocoaPods公有库教程
 
备注:
1、自己的工程文件(demo)以及共享文件(共享库Lib)。
2、MYSementManager.podspec创建的公有库名称。
 
iOS之创建CocoaPods公有库教程

Specification created at MYSementManager.podspec说明创建公有库成功。

四、使用文本编辑器或者sublime等编辑公有仓库信息(注意:引号不能搞错了,是英文格式的"",不是中文格式“”),默认选择文本编辑器。

iOS之创建CocoaPods公有库教程

备注:

1、s.name:公有库的名称。
2、s.version:公有库的版本。
3、s.summary:公有库简短介绍。
4、s.description:公有库详细介绍。
5、s.homepage:公有库在GitHub上的地址。
6、s.license:开源协议。
7、s.author:作者。
8、s.source:公有库在GitHub上的地址和版本号。
9、s.source_files:公有库对外共享的.h和.m文件。
10、s.requires_arc:是否支持ARC。

没有涉及到的字段可以去官方文档查阅。

五、编辑结束保存,并验证本地的公有仓库是否有效。

pod lib lint cocoaPodsName.podspec

六、验证有效后,然后再将本地该文件夹中所有的文件pushgithub上。

git add .
git commit -m "first commit"
git remote add origin https://github.com/sunjinshuai/test.git
git push -u origin master

使用git tag(此方法操作后再push上传一次)或者直接在github上点击release进入后创建release并给公有仓库打上tag

$ git tag -m "first release" 0.0.1
$ git push --tags     #推送tag到远端仓库

七、注册trunk,例如:

pod trunk register 邮箱 ‘用户名’ --description=‘描述’

注意:
邮箱为github上的登录邮箱、用户名为github上的用户名。

iOS之创建CocoaPods公有库教程
 
接收发送到邮箱的链接,点击进入后注册成功。
 
iOS之创建CocoaPods公有库教程

作者:s_在路上
链接:https://www.jianshu.com/p/c852ab73ffa0
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。