iOS之创建CocoaPods公有库教程
简介
在开发过程中,经常会使用到第三框架,我们通过一个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
六、验证有效后,然后再将本地该文件夹中所有的文件push
到github
上。
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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最新文章
- java数据库连接池技术原理(浅析)
- 宏碁台式机,如何设置u盘启动
- Testing - 测试基础 - 自动
- 磁盘里的B,MB,GB,TB储存单位是怎么换算大小的?
- DOM--3 DOM核心和DOM2 HTML(2)
- [LintCode] Swap Nodes in Pairs 成对交换节点
- C#异步编程一
- JSP中,当页面为404或者500时。设置跳转到错误提示页面
- readonly disabled 区别
- How to search a table in a store proc and open the store proc
- apache与php安装
- 开源个.NetCore写的 - 并发请求工具PressureTool
- unable to apply changes:plugins ";App links assistant";,firebase services won'
- eMMC基础技术2:eMMC概述
- 测试通过!为何线上还有很多BUG?实践中的质量控制
- 9.26/27 blog项目
- Thinkphp 框架
- 并发编程(IO多路复用)
- 安卓程序代写 网上程序代写[原]Android项目中string.xml占位符
- 打包dll发布到nuget服务器
热门文章
- 自已封装Ajax方法
- keystone nova v2 python
- SSIS 增量更新
- java读取文件:二进制文件
- Tomcat之the jre_home environment variable is not defined correctly this environment variable is need
- Lightoj1014【基础题】
- JAG Practice Contest for ACM-ICPC Asia Regional 2016B题【BFS】
- HDU5122【水】
- [Xcode 实际操作]九、实用进阶-(8)实现App的Setting设置:添加和读取程序的配置信息
- python如何永久添加模块搜索路径