创建/发布cocoapods公共库
对于大多数iOS开发者而言,cocoapods都是一个非常便捷的第三方库引导工具,该工具可以帮助我们快速导入所需第三方库,并且进行相关配置。
本文即为描述如何发布一个第三方库,提供给所有的开发者使用。在发布过程中,默认当前系统已经安装了cocoapods,pod的安装网上教程很多 不做赘述
1.创建库的架构文件
首先cd到目标文件夹,本人的为桌面上的JHConntctionView文件夹。
$ cd JHConntctionView/
在当前文件夹中创建公开库的架构项目:
$ pod lib create JHConnectionView
到此系统会询问一些配置问题,依次为
//项目语言
What language do you want to use?? [ Swift / ObjC ]
> Objc
//是否需要demo
Would you like to include a demo application with your library? [ Yes / No ]
> No
//测试框架
Which testing frameworks will you use? [ Specta / Kiwi / None ]
>
specta
//是否需要测试项目
Would you like to do view based testing? [ Yes / No ]
> No
//项目文件前缀
What is your class prefix?
> JH
当回答这些问题后,pod自动为我们创建一个项目并打开,结构如图


这时我们已经完成了库依赖架构的创建,下一步进行远程仓库搭建
2.搭建远程仓库
在github上或者其他git开源社区创建一个公开项目,本人在OSChina上创建了一个新的项目,地址为:https://git.oschina.net/kissxml/JHConnectionView
然后cd到JHConnectionView文件夹下,将依赖库push到远程仓库,并添加版本号。
$ git add *
$ git commit -s -m "Initial commit of libyary"
$ git remote add origin https://git.oschina.net/kissxml/JHConnectionView(这个地址要换成你的远程仓库地址)
$ git push origin master
//添加版本号
$ git tag -m "first release" "0.1.0"
$ git push --tags
这就完成了远程仓库的创建。
3.填写公开库的配置
在上面的图片中,有一道箭头指向了公开库的配置文件JHConnectionView.podspec,首先我们在Finder中找到这个文件,将它的文件后缀改写成.rb,然后就会默认使用Xcode的Ruby编辑器打开该Ruby文件。打开后内容如下:
Pod::Spec.new do |s|
s.name = 'JHConnectionView' #公开库名称
s.version = '0.1.0' #版本号
s.summary = 'some summary record.' #简要概述
s.description = <<-DESC#从这里开始 详细的公开库描述
TODO: new test fo r this Spec.
#到这里结束
DESC
s.homepage = 'http://www.cnblogs.com/ToBeTheOne/' #个人主页 必须要填写且能够打开哦 不然会审查失败
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' #屏幕截图文件的地址
s.license = { :type => 'MIT', :file => 'LICENSE' } #执照证书类型 使用默认即可
s.author = { '你的名字' => '您的邮箱地址' } #作者及邮箱
s.source = { :git => 'https://git.oschina.net/kissxml/JHConnectionView', :tag => s.version.to_s } #公开库的资源地址 填写自己创建的远程仓库地址
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.ios.deployment_target = '8.0'
s.source_files = 'JHConnectionView/Classes/**/*' #公开库文件路径
# s.resource_bundles = {
# 'JHConnectionView' => ['JHConnectionView/Assets/*.png']
# }
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
修改完毕后,将该文件后缀改为.podsepc。
4.0发布公开库
在这里有个pod trunk工具需要实现(只需要配置一次即可)。trunk工具是为了认证用户信息(包括设备)而存在的,只有注册认证通过了,才能够发布公开库。
注册trunk:
$ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
注册成功后提示:
[!] Please verify the session by clicking the link in the verification email that has been sent to 13162255392@163.com
需要我们接受认证邮件并点击附带链接确认。
当我们完成注册后,以后不需要此步骤。
最后使用trunk工具,发布公开库。
$ pod trunk push JHConnectionView.podspec
到了这里,如果提示配置文件提示警告,导致配置文件审查不通过,可以简单的看一下提示信息,如果是Xcode或者iOS警告,可以不予重视,如果是语法错误,需要我们打开配置文件进行修复。确认没有语法错误后,可以使用--allow-warnings辅助命令忽略警告。
$ pod trunk push JHConnectionView.podspec --allow-warnings
如果没有报错,会花费几分钟进行文件上传,公开库会在cocoapods公开库里被创建,并且更新本地的cocoapods仓库。也就意味着我们已经成功发布公开库!
如果提示成功,我们可以查看本地更新后的仓库是否有我们的公开库。
$ cd
$ cd ~/.cocoapods
$ open repos
然后就可以在master->Specs中寻找自己的库了。同时,也可以用pod search搜索一下我们自己的库,查看版本号和相关信息。
创建/发布cocoapods公共库的更多相关文章
- Cocoapods 创建自己的公开库、私有库
如何创建自己的共有库 1.注册Trunk trunk需要CocoaPods 0.33版本以上,用pod --version 命令查看版本 CocoaPods版本 如果版本低,需要升级: sudo ge ...
- iOS:最详细的创建CocoaPods私有库教程
一.感慨 说实话,创建这个CocoaPods私有库,我愣是搞了两个星期,创建的过程中,自己的感情波动是这样的:激情四射---->有点困惑----->极度困惑----->有点失望--- ...
- cocoapods 创建公开公共库
1 :首先安装了 pod,sourceTree(下载地址https://pan.baidu.com/s/1c1Wc5ck), 并在开元中国申请的 git 账号 2 :打开终端: cd 文件目录地址(任 ...
- Mac终端的Cocoapods创建自己的私有库和公有库
一,前言 为什么要用Cocopods 通常在开发的过程中,大多时候,我们会处理一类相同的操作,比如对于字符串String的邮箱验证,是否为空,手机号验证,或者一些UIView的动画操作,我们为了避免写 ...
- 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服
前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...
- iOS之创建CocoaPods公有库教程
简介 在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod inst ...
- 使用CocoaPods创建自己的私有库-iOS组件化第一步
目前iOS组件化常用的解决方案是Pod+路由+持续集成,通常架构设计完成后第一步就是将原来工程里的模块按照架构图分解为一个个独立的pod工程(组件),今天我们就来看看如何创建一个Pod私有库. 新建: ...
- 从零开始创建CocoaPods私有库
为什么要创建CocoaPods私有库? 避免重复的造轮子 节约时间,方便管理自己的代码 精益求精 创建CocoaPods私有库 1.创建私有仓库工程 执行命令pod lib create SmartB ...
- 教你一步步发布一个开源库到 JCenter
今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...
随机推荐
- vue+webpack实践
最近使用了vue来做SPA应用,记一波学习笔记. 使用vue+webpack实现前端模块化. vuejs——轻量.学习成本低.双向绑定.无dom的操作.组件的形式编写 推荐官方文档 vue.js官方文 ...
- Apache的dbutils的架构图
- ios相同版本升级
公司新发布ios,因为各种错误以及审核不通过造成app未能上传,而app在提交的时候不能上传相同的版本号,造成app还没有正式的上传上传已经将版本号升级到1.0.6 解决方法: 在Xcode上,查看项 ...
- Table 固定表头的几种方法
<style type="text/css"> /*所有内容都在这个DIV内*/ div.all { border: 3px solid #FF00FF; width: ...
- c# .net获取文件夹下的所有文件(多层递归),并获取区间数据(Jsion,xml等数据)写出到处理文件,学习分享~
static void Main(string[] args) { string path = string.Format(@"C:\Users\Administrator\D ...
- TF-IDF算法学习报告
TF-IDF是一种统计方法,这个算法在我们项目提取关键词的模块需要被用到,TF-IDF算法是用来估计 一个词汇对于一个文件集中一份文件的重要程度.从算法的定义中就可以看到,这个算法的有效实现是依靠 一 ...
- ip地址库 新浪,淘宝
原文连接地址:http://www.9958.pw/post/city_ip function getAddressFromIp($ip){ $urlTaobao = 'http://ip.taoba ...
- linux 远程连接工具——MTPuTTY
简介 MTPUTTY是一个非常流行的ssh客户端. 安装 官网地址:http://www.ttyplus.com/multi-tabbed-putty/ 下载并安装,运行软件,如图 添加服务器 结语 ...
- 调用手机在线API获取手机号码归属地信息
手机在线(www.showji.com)始创于2001年,发展至今已拥有国内最准确.号段容量最大的手机号码归属地数据库系统, 目前号段容量将近33万条,每月保持两次以上规模数据更新,合作伙伴包括:百度 ...
- Android之下拉刷新的ListView
不废话,代码里面注释很详细,直接上代码: 自定义的RefreshableListView代码: public class RefreshableListView extends ListView im ...