简介

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

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

流程

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

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

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

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

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

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

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

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

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

备注:

、s.name:公有库的名称。
、s.version:公有库的版本。
、s.summary:公有库简短介绍。
、s.description:公有库详细介绍。
、s.homepage:公有库在GitHub上的地址。
、s.license:开源协议。
、s.author:作者。
、s.source:公有库在GitHub上的地址和版本号。
、s.source_files:公有库对外共享的.h和.m文件。
、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.
$ git push --tags #推送tag到远端仓库

七、注册trunk,例如:

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

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

 
接收发送到邮箱的链接,点击进入后注册成功。
 

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

 

最新文章

  1. java数据库连接池技术原理(浅析)
  2. 宏碁台式机,如何设置u盘启动
  3. Testing - 测试基础 - 自动
  4. 磁盘里的B,MB,GB,TB储存单位是怎么换算大小的?
  5. DOM--3 DOM核心和DOM2 HTML(2)
  6. [LintCode] Swap Nodes in Pairs 成对交换节点
  7. C#异步编程一
  8. JSP中,当页面为404或者500时。设置跳转到错误提示页面
  9. readonly disabled 区别
  10. How to search a table in a store proc and open the store proc
  11. apache与php安装
  12. 开源个.NetCore写的 - 并发请求工具PressureTool
  13. unable to apply changes:plugins "App links assistant",firebase services won'
  14. eMMC基础技术2:eMMC概述
  15. 测试通过!为何线上还有很多BUG?实践中的质量控制
  16. 9.26/27 blog项目
  17. Thinkphp 框架
  18. 并发编程(IO多路复用)
  19. 安卓程序代写 网上程序代写[原]Android项目中string.xml占位符
  20. 打包dll发布到nuget服务器

热门文章

  1. 自已封装Ajax方法
  2. keystone nova v2 python
  3. SSIS 增量更新
  4. java读取文件:二进制文件
  5. Tomcat之the jre_home environment variable is not defined correctly this environment variable is need
  6. Lightoj1014【基础题】
  7. JAG Practice Contest for ACM-ICPC Asia Regional 2016B题【BFS】
  8. HDU5122【水】
  9. [Xcode 实际操作]九、实用进阶-(8)实现App的Setting设置:添加和读取程序的配置信息
  10. python如何永久添加模块搜索路径