为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢?

下面我一步一步带大家开源自己的框架。

第一步

把自己的框架更新到github 上,为了提交地址给他人下载。
这里就不详细介绍如何把项目更新到github上了

第二步

这个时候我们的项目已经挂在github上了
我们需要给本地的项目新建一个Podspec描述文件

// 进入到项目目录下

cd xxx/xxx/xxx

// 创建Podspec文件

pod spec create “你的Podspec名字”

此时你已经在项目目录下创建了一个Podspec文件了
这个时候我们需要对他进行编辑
注意:最好用xcode 去编辑 防止错误 只能输入英文标点

你可能显示的版本为:

Pod::Spec.new do |s|

s.name = “项目名字”
s.version ="版本号"
s.summary = "项目介绍"
s.homepage = "你的主页地址"
s.license = "MIT" //这里就选这个许可证
s.author ={"你的名字" => "邮箱"}
s.platform =iOS,"最低支持的系统"
s.source ={git =>"项目git地址",tag =>"tag号"}
s.source_files = "text/*/.(h.m)" //这里是项目路径要传的文件
s.framework ="UIKit" //依赖的系统库 可以依赖多个
// 若需要依赖其他开源的第三方库 可以写成下列形式 若需要有多个就复制下面代码 添加第三方库
// s.dependency "AFNetWorking"
// 如果需要配置依赖系统库
// s.framework = 'SomeFramework'// 设置依赖的系统库名称
// s.frameworks = 'SomeFramework', 'AnotherFramework'//设置多个系统库名称
// 需要依赖系统的library
s.library = 'iconv'// 设置只依赖一个系统的library
s.libraries = 'iconv', 'xml2' // 设置依赖多个系统的library
// 这里是工程配置,这样使用者就不需要手动处理,由pod自动处理了
s.xcconfig = {'HEADER_SEARCH_PATHS' =>'$(SDKROOT)/usr/include/libxml2'}
其实我觉得不需要那么麻烦可以删完 需要什么复制修改就好了 当然看你的需求 下面是我的例子 红色表示需要注意的地方

Pod::Spec.new do |s|

s.name = "AlertGreenView"
s.version = "0.0.7"
s.summary = "用于项目中添加弹框自定义封装AlertGreenView."
s.homepage = "https://github.com/ZOYOOPlus/AlertGreenView"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "tangyuanby2" => "tangyuanby2@163.com" }

# s.social_media_url = "http://www.taby2.com/"
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/ZOYOOPlus/AlertGreenView.git", :tag => "#{s.version}" }
s.source_files = "AlertGreen/**/*.{h,m}"

s.requires_arc = true

# s.dependency "JSONKit", "~> 1.4"

end

然后我们设置下tag号 然后推送到git

$ git commit -m "说明"
$ git tag 0.0.1 // tag 和上面你设定的一样 一般tag号和版本号一致
$ git push --tags
$ git push origin master

我们来验证下他是否符合要求。

pod lib lint "podspec名字".podspec --allow-warnings

错误的示范:版本问题 我设置为0.1 出错,按照要求应该是 三位 0.0.1 切记各位

若我们看

“你的podspec名字” passed validation
说明这个配置文件是没问题的。

若失败了。
我们就需要将远程tag删除 重新来过

git push origin :refs/tags/"上一次设置的tag号"

在验证通过之后我们需要将代码提交到cocopods

pod trunk push "你的podspec名字".podspec --allow-warnings

如果没有出错 我们就算大功告成了。

提示: 如果代码编译不通过  也会报错,所以记得检查代码

通过pod search "项目名"去搜索你的第三方库吧。

最后::::

将我们的gitHub仓库代码配置CocoPods支持的时候

执行最后一步命令:

pod trunk push 工程名.podspec

报错如下:

[!] You need to register a session first.

解决方案命令如下:

pod trunk register 电子邮箱 '您的姓名' --description='macbook pro'

 

结束战斗

最后需要等一段时间 然后就可以 查询 和 pod install 了

将自己的框架更新到cocopods上的更多相关文章

  1. iOS将自己的框架更新到cocopods上

    第一步 把自己的框架更新到github 上,为了提交地址给他人下载.这里就不详细介绍如何把项目更新到github上了 第二步 这个时候我们的项目已经挂在github上了我们需要给本地的项目新建一个Po ...

  2. iOS中 如何将自己的框架更新到cocopods上 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods ...

  3. 4.Metasploit框架更新

    Metasploit 进阶第二讲  框架更新   EDB平台-互联网安全漏洞库   Exploit_DB是一个面向全世界安全工作人员的漏洞提交平台,是一份公开已知漏洞的存档,便于企业改善公司的安全情况 ...

  4. 使用VS2015将解决方案同步更新到Github上

    如今开源已经是一种趋势与潮流了,今天就来谈一谈如何将利用VS将我们的解决方案同步更新到Github上. 第一步:登录自己的Github账号(没有的自行注册). 我的Github登录后的界面: 第二步: ...

  5. Struts2框架下的文件上传文件类型、名称约定

    Struts2框架下的文件上传机制:1.通过multipart/form-data form提交文件到服务器2.文件名是通过什么地方设置的?在strust2的FileUploadInterceptor ...

  6. SpringMVC 使用验证框架 Bean Validation(上)

    SpringMVC 使用验证框架 Bean Validation(上) 对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证. ...

  7. 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

    分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...

  8. 解决使用elementUI框架el-upload跨域上传时session丢失问题

    解决方法一: 1.使用elementUI框架el-upload跨域上传时,后端获取不到cookie,后端接口显示未登录,在添加了 with-credentials="true"后依 ...

  9. AIFramework框架Jittor特性(上)

    AIFramework框架Jittor特性(上)

随机推荐

  1. Jquery14 工具函数

    学习要点: 1.字符串操作 2.数组和对象操作 3.测试操作 4.URL 操作 5.浏览器检测 6.其他操作 工具函数是指直接依附于 jQuery 对象,针对 jQuery 对象本身定义的方法,即全局 ...

  2. Hive的执行生命周期

    1.入口$HIVE_HOME/bin/ext/cli.sh 调用org.apache.hadoop.hive.cli.CliDriver类进行初始化过程 处理-e,-f,-h等信息,如果是-h,打印提 ...

  3. Show Desktop Pro FAQ

    Q. Will the desktop background image be restored after quit? A: Yes. Right now, "Hide icons&quo ...

  4. 4.9版本linux内核的ina220电流检测芯片源码在哪里

    答:在drivers/hwmon/ina2xx.c中,内核配置项为CONFIG_SENSORS_INA2XX Location: -> Device Drivers -> Hardware ...

  5. pt-table-checksum校验mysql主从数据一致性

    主从数据的一致性校验是个头疼的问题,偶尔被业务投诉主从数据不一致,或者几个从库之间的数据不一致,这会令人沮丧.通常我们仅有一种办法,热备主库,然后替换掉所有的从库.这不仅代价非常大,而且类似治标不治本 ...

  6. CentOS7配置自定义JDK

    由于选择的是centos7-dvd镜像自带了open jdk,需要卸载.首先查询自带的jdk: rpm -qa | grep java 会出现7个带有java名称的东西,删除其中的带有openjdk字 ...

  7. 锁(3)-- DB锁

    1 前言 数据库大并发操作要考虑死锁和锁的性能问题.看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一 ...

  8. SpringBoot学习(2)

    三.日志 1.日志框架 springboot:底层是spring框架,spring框架默认使用JCL; springboot选用SLF4j和logback; 2.SLF4j使用 1.如何在系统中使用S ...

  9. Java 类的构造器的调用顺序

    规则如下: 对于一个复杂的对象,构建器的调用遵照下面的顺序: (1) 调用父类构建器.这个步骤会不断重复下去,首先得到构建的是分级结构的根部,然后是下一个子类,等等.直到抵达最深一层的子类. (2) ...

  10. 引发事件代码封装成OnEventName

    引发事件的代码,通常可以封装成“On+事件名称”的方法(On:表示当“什么什么”的时候),如下所示: 1:引发事件代码: if (PropertyChanged != null)//为了实现将数据源的 ...