测试的时候找个自己封装的方法或UI控件就可以了 这里用我刚封装的Redirect重定向的请求体为例

1, 在github上创建一个Redirect,重要:记得选择开源协议 (MIT)(如果木有GitHub那先百度一下)

2, 使用 Github Desktop Clone (克隆) Redirect 到电脑桌面

注: 修改Redirect文件里的东西记得及时更新,如何使用Github Desktop请百度

3, cd到当前目录

$ cd Redirect

4, 创建一个podspec文件,命令:

$ pod spec create Redirect

5, 编辑 podspec文件,这里是用vim打开的,命令:(当然使用文本编辑器打开也可以)

$ vim Redirect.podspec

6, 创建之后会自动生成一个模板,里面会有详细的注释,我们只需要按需要修改这个文件即可,

下边这个是测试的时候我编辑的 (如果需要更更多的配置 可以参考别的开源项目的podspec文件):

(注: 以#开头的是可以删掉滴)

Pod::Spec.new do |s|

  s.name         = "Redirect"
s.version = "0.0.1"
s.summary = "Redirecting Requests."
s.description = <<-DESC
This is a Redirecting Requests.
DESC
s.homepage = "http://www.cnblogs.com/ljcgood66/"
s.license = "MIT"
s.author = { "LiJunCheng" => "1139981137@qq.com" }
s.platform = :ios
s.source = { :git => "https://github.com/ganlinmeng/Redirect.git", :tag =>"0.0.1" }
s.source_files = "Redirect", "Redirect/**/*.{h,m}"
s.exclude_files = "Classes/Exclude"
s.framework = "UIKit"
# s.frameworks = "SomeFramework", "AnotherFramework"
# s.library = "iconv"
# s.libraries = "iconv", "xml2" # ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
#
# If your library depends on compiler flags you can set them in the xcconfig hash
# where they will only apply to your library. If you depend on other Podspecs
# you can include multiple dependencies to ensure it works. # s.requires_arc = true # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
# s.dependency "JSONKit", "~> 1.4" end

s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错
s.version:版本号
s.ios.deployment_target:支持的pod最低版本
s.summary: 简介
s.homepage:项目主页地址
s.license:许可证
s.author:作者
s.social_media_url:社交网址
s.source:项目的地址
s.source_files:需要包含的源文件
s.resources: 资源文件
s.requires_arc: 是否支持ARC
s.dependency:依赖库,不能依赖未发布的库
s.dependency:依赖库,如有多个可以这样写

(注: 也有这样写: s.license= { :type => "MIT", :file => "LICENSE" }

7, 创建tag,并推送到github,依次执行以下命令:

$ git add .
$ git commit -m "0.0.1"
$ git tag 0.0.
$ git push --tags
$ git push origin master

(注: 当执行完 git push --tags  后终端会让你输入GitHub的账号和密码)

Username for 'https://github.com':
Password for 'https://ganlinmeng@github.com':

8, 验证podspec文件

$ pod spec lint Redirect.podspec

如果终端提示 (but you can use `--allow-warnings` to ignore them).

你可以

$ pod spec lint Redirect.podspec --allow-warnings
  • 如果验证不通过,会有详细的ERROR和WARING提示,根据提示依次解决,然后回到第7步重新来一遍。
    注意:在重新开始之前,我们要删除远程库的tag和本地的tag,命令如下:
$ git tag -d 1.2                   //删除本地tag
$ git push origin :refs/tags/1.2 // 删除远程库tag

如果验证通过会这样显示

9, 如果是第一次提交,需要先执行这个命令:

$ pod trunk register 这里写邮箱 '这里起个名字' --description=' 这里写描述'

执行完成之后,会给你的邮箱里发一封邮件,去邮箱点击链接!

然后提交到CocoaPods

(注意:由于我验证podspec文件时使用了--allow-warnings 所以这里后面也加上--allow-warnings)

pod trunk push Redirect.podspec --allow-warnings

10, 提交完成后,就可以通过cocopods查找Redirect了

(注意:)刚提交后项目用pod search命令会搜不到,因为本地的索引没有更新,使用下面命令删除索引文件

rm ~/Library/Caches/CocoaPods/search_index.json

最后pod search 命令搜到自己的项目,大功告成

如果还是不行就再执行

rm ~/Library/Caches/CocoaPods/search_index.json
pod setup

再进行pod search,

-完美

这样就可以进行使用了.

cocoaChina也有我的链接贴一下

http://www.cocoachina.com/ios/20180112/21842.html

最后感谢各位大佬

参考:

https://www.jianshu.com/p/0e1d796b2a42

https://www.jianshu.com/p/a1339d45a324

http://www.cocoachina.com/ios/20160301/15459.html

https://www.cnblogs.com/richard-youth/p/4704413.html

https://www.jianshu.com/p/283584683b0b

https://www.cnblogs.com/xzjxylophone/p/4956469.html

https://www.jianshu.com/p/b5e5cd053464

让自己的开源项目支持CocoaPods的更多相关文章

  1. CocoaPods学习系列2——使自己的项目支持CocoaPods管理

    该篇记录使自己的项目支持CocoaPods管理. 要达到这一目的,需要如下步骤: 1.将自己的项目提交到github,添加开源协议license 2.添加podspec文件 3.验证podspec,成 ...

  2. 让自己写的项目支持Cocoapods管理

    学会使用别人的 Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们一起来制作自己的Pods依赖库. 1.创建自己的 github 仓库 上图中标识出了6处地方 Repository ...

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

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

  4. 我发起了一个 支持 ServerFul 架构 的 .Net 开源项目 ServerFulManager

    大家好,  我发起了一个 支持 ServerFul 架构 的 .Net 开源项目 ServerFulManager . ServerFulManager 的 目标 是 实现一个 支持 ServerFu ...

  5. .NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5

    .NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5 一个使用 Prism 作为模块化框架.基于多个开源控件库作为UI控件选择.集成开源 UI 界面设计的 .NET ...

  6. 支持中文!秒建 wiki 知识库的开源项目,构建私人知识网络

    不知道有没有人和我一样,觉得自建的东西是互联网上的"自留地".私人空间,有一种自己的一亩三分地随心所欲的痛快. 比如自建的博客想写什么随笔就写什么,不用取悦读者可以自娱自乐:再比如 ...

  7. 微软宣布成立.NET基金会全面支持开源项目 包括C#编译器Roslyn【转】

    基金会初始董事包括 Mono 项目和 Xamarin 的老大 Miguel de Icaza,微软 .NET 团队代表和微软开放技术公司(这是微软专门为开源和开放技术.标准化成立的独立公司)代表. 首 ...

  8. iOS 开源项目

    在 Github 上 Star 太多了,有时候很难找到自己想要的开源库,所以在此记录下来.便于自己开发使用,也顺便分享给大家. 动画 awesome-ios-animation收集了iOS平台下比较主 ...

  9. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

随机推荐

  1. pandas 对数据帧DataFrame中数据的增删、补全及转换操作

    1.创建数据帧 import pandas as pd df = pd.DataFrame([[1, 'A', '3%' ], [2, 'B'], [3, 'C', '5%']], index=['r ...

  2. OAuth2实现单点登录SSO

    1.  前言 技术这东西吧,看别人写的好像很简单似的,到自己去写的时候就各种问题,“一看就会,一做就错”.网上关于实现SSO的文章一大堆,但是当你真的照着写的时候就会发现根本不是那么回事儿,简直让人抓 ...

  3. PyCharm:选择性忽略 PEP8 警告

    PyCharm 是个很强大的 python IDE,PEP 8 的告警提示也很好用,但是函数名不能包含大写字母等少数几个规范真心觉得不好,作为一名处女座强迫症患者,代码下面的波浪线这种东西是绝对不允许 ...

  4. golang标准库 context的使用

    本文索引 问题引入 context包简介 示例 问题引入 goroutine为我们提供了轻量级的并发实现,作为golang最大的亮点之一更是备受推崇. goroutine的简单固然有利于我们的开发,但 ...

  5. 【开源分享】2018CRM C# 源码(基于小黄豆CRMv2.0.925.3版本功能更新)

    分享出来的初衷,我分享一下最近我在小黄豆CRM2.0版本(小黄豆CRM+v2.0.925.3)上加的功能,如果有类似需求的,可以把功能代码发你,节约你的开发时间.(这是在小黄豆开源免费CRM①群231 ...

  6. oracle学习笔记(四) DQL数据查询语言和TCL 事务控制语言

    DML 数据管理语言 Data manage language insert, update, delete以及select语句,不过,有人也把select单独出来,作为DQL 数据查询语言 data ...

  7. 委托的多线程方法BeginInvoke

    同步方法和异步方法: 同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果.(比如烧水泡茶,需要等水烧开了才能继续泡茶) 异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执 ...

  8. 观察者模式 Observer 发布订阅模式 源 监听 行为型 设计模式(二十三)

    观察者模式 Observer 意图 定义对象一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都得到通知并自动更新. 别名:依赖(Dependents),发布订阅(Publish-Su ...

  9. web服务器负载均衡与集群基本概念一

    Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器一样,这多台服务器共同来为客户提供更高性能的服务.集群更标准的定义是:一组相互独立的服务器在网络中表现为单一的系统,并以 ...

  10. 【20190220】HTTP-知识点整理:TCP/IP与HTTP

    TCP/IP是互联网相关的各类协议族的总称,HTTP属于它内部的一个子集. 一.TCP/TP的分层管理 1. 应用层 应用层决定了向用户提供应用服务时通信的活动.TCP/IP 协议族内预存了各类通用的 ...