简介

在开发过程中,经常会使用到第三框架,我们通过一个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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

iOS之创建CocoaPods公有库教程的更多相关文章

  1. iOS:最详细的创建CocoaPods私有库教程

    一.感慨 说实话,创建这个CocoaPods私有库,我愣是搞了两个星期,创建的过程中,自己的感情波动是这样的:激情四射---->有点困惑----->极度困惑----->有点失望--- ...

  2. 从零开始创建CocoaPods私有库

    为什么要创建CocoaPods私有库? 避免重复的造轮子 节约时间,方便管理自己的代码 精益求精 创建CocoaPods私有库 1.创建私有仓库工程 执行命令pod lib create SmartB ...

  3. 制作CocoaPods公有库和私有库

    认识公有库和私有库 公有库:开源自己封装的库供别人使用,且往cocoaPods的官方Repo仓库(即CocoaPods Master Repo)中新增自己库的索引,该库索引是以*.podspec.js ...

  4. 创建Cocoapods私有库

    本文以自己在公司做的一个手势密码私有库GesturePasswordKit为例说明. 1.在gitlab(或者github,我这里使用的例子是在gitlab上)上创建git仓库 (确保授权正确,避免后 ...

  5. Mac终端的Cocoapods创建自己的私有库和公有库

    一,前言 为什么要用Cocopods 通常在开发的过程中,大多时候,我们会处理一类相同的操作,比如对于字符串String的邮箱验证,是否为空,手机号验证,或者一些UIView的动画操作,我们为了避免写 ...

  6. 创建/发布cocoapods公共库

    对于大多数iOS开发者而言,cocoapods都是一个非常便捷的第三方库引导工具,该工具可以帮助我们快速导入所需第三方库,并且进行相关配置. 本文即为描述如何发布一个第三方库,提供给所有的开发者使用. ...

  7. 工具第二天 cocoaPods 私有库的创建

    之前介绍了cocoaPods的安装与使用,今天简单谈一下 自己的私有库运用cocoaPods依赖. cd到需要做库的工程目录下 创建一个podspec文件 创建:pod spec create 名称 ...

  8. 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)

    利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库),完成预期的任务,大致有下面几步: 1.代码提交到github平台 2.创建.podspec 3. ...

  9. CocoaPods - 发布自己的模块(公有库、私有库)

    CocoaPods发布框架到远程公有库 1.编写代码~上传远程仓库 git init git add . git commit -m '提交到本地分支' //关联远程仓库 git remote add ...

随机推荐

  1. 深度学习之Batch归一化

    前言            以下内容是个人学习之后的感悟,转载请注明出处~ Batch归一化 在神经网络中,我们常常会遇到梯度消失的情况,比如下图中的sigmod激活函数,当离零点很远时,梯度基本为0 ...

  2. Unity3D 开发ios时困扰多时游戏开始画面图片的分辨率

  3. Even Three is Odd

    题意: 问题是对于所有的长度为n,且$1<=ai<=n$的整数序列求 $\prod_{i=1}^{n-2}{max \{w_i,w_{i+1},w_{i+2}}\}$ 之和. 解法: 首先 ...

  4. 继承映射关系 joinedsubclass的查询

    会出现下面这样的错一般是配置文件中的mapping和映射文件中的package路径或者class中的name路径不一致 org.hibernate.MappingException: Unknown ...

  5. u3d shader学习笔记1

    促使我学习SHADER的重要原因是希望深入理解3D渲染的机制,在此基础上可以灵活达到某种效果与性能的平衡,开发出具有良好体验的VR应用. 因为VR应用体验的好坏,直接由游戏的帧率决定,而游戏的帧率则受 ...

  6. c# 调用 webservices (转载)

    .net 调用webservice 总结 最近做一个项目,由于是在别人框架里开发app,导致了很多限制,其中一个就是不能直接引用webservice . 我们都知道,调用webserivice 最简单 ...

  7. window.showModalDialog 在谷歌Uncaught TypeError: undefined is not a function

    if(navigator.userAgent.indexOf("Chrome") >0 ){var winOption = "height="+heigh ...

  8. 201621123016 《Java程序设计》第十一周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 源代码阅读:多线程程序BounceThread 1.1 BallR ...

  9. 51nod 1011 【完全背包】

    完全背包的变形: 这些数字可以取多次,dp[i]代表前 i 物品组成N时的方案数. #include<iostream> #include<cstring> #include& ...

  10. Android NDK开发指南(一) Application.mk文件

    http://www.cnblogs.com/yaozhongxiao/archive/2012/03/06/2381586.html Application.mk目的是描述在你的应用程序中所需要的模 ...