对于大多数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公共库的更多相关文章

  1. Cocoapods 创建自己的公开库、私有库

    如何创建自己的共有库 1.注册Trunk trunk需要CocoaPods 0.33版本以上,用pod --version 命令查看版本 CocoaPods版本 如果版本低,需要升级: sudo ge ...

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

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

  3. cocoapods 创建公开公共库

    1 :首先安装了 pod,sourceTree(下载地址https://pan.baidu.com/s/1c1Wc5ck), 并在开元中国申请的 git 账号 2 :打开终端: cd 文件目录地址(任 ...

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

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

  5. 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服

    前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...

  6. iOS之创建CocoaPods公有库教程

    简介 在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod inst ...

  7. 使用CocoaPods创建自己的私有库-iOS组件化第一步

    目前iOS组件化常用的解决方案是Pod+路由+持续集成,通常架构设计完成后第一步就是将原来工程里的模块按照架构图分解为一个个独立的pod工程(组件),今天我们就来看看如何创建一个Pod私有库. 新建: ...

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

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

  9. 教你一步步发布一个开源库到 JCenter

    今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...

随机推荐

  1. ABBA BABA statistics

    The ABBA BABA statistics are used to detect and quantify an excess of shared derived alleles, which ...

  2. python通过函数改变变量取值

    严格讲应该是"通过函数调用,改变引用对象".python中,要区分"变量名"和"对象" 如果是类的对象,是引用类型的,那么可以通过函数调用, ...

  3. Pitfalls: C++ 中的index运算符

    名可名, 非常名 在调一个题目的过程中发现了一个之前从未意识到的问题. 考虑如下代码 vector<int> a; int f(int x){ a.push_back(x); return ...

  4. Struts(View)

    案例:http://blog.csdn.net/jiuqiyuliang/article/details/39061305 减少在运用MVC设计模型来开发Web应用的时间. l  M —— JavaB ...

  5. 使用GRUB 添加新的启动项 (menu entry)

    GRUB版本: Grub2 基础知识: 相关的文件和目录结构: A./etc/grub.d/ 上图中有一个40_custom的脚本: 可以通过修改40_custom脚本来加入自定义的启动项. B./e ...

  6. Django基础,Day5 - form表单投票详解

    投票URL polls/urls.py: # ex: /polls/5/vote/ url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, ...

  7. js 刷新页面window.location.reload();

    Javascript刷新页面的几种方法:1    history.go(0)2    window.location.reload() window.location.reload(true) 3   ...

  8. 阿里笔试题:在n个人中找明星

    题目描述:有N个人,其中一个明星和n-1个群众,群众都认识明星,明星不认识任何群众,群众和群众之间的认识关系不知道,现在如果你是机器人R2T2,你每次问一个人是否认识另外一个人的代价为O(1),试设计 ...

  9. tomcat用root权限也起不来

    昨晚把服务器弄的启动不了了,先来还原一下作案现场, 错误操作过程:替换classes目录下的某个目录,比如com,由于替换了classes文件,所以需要重启tomcat,在bin目录下执行sh sta ...

  10. 让VS2010支持Windows2000

      2015-10-20 14:21 375人阅读 评论(0) 收藏 举报  分类: 学习笔记(33)  技术心得(1)  用Visual Studio 2010编译的程序无法在Windows 200 ...