让自己的开源项目支持CocoaPods
测试的时候找个自己封装的方法或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
让自己的开源项目支持CocoaPods的更多相关文章
- CocoaPods学习系列2——使自己的项目支持CocoaPods管理
该篇记录使自己的项目支持CocoaPods管理. 要达到这一目的,需要如下步骤: 1.将自己的项目提交到github,添加开源协议license 2.添加podspec文件 3.验证podspec,成 ...
- 让自己写的项目支持Cocoapods管理
学会使用别人的 Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们一起来制作自己的Pods依赖库. 1.创建自己的 github 仓库 上图中标识出了6处地方 Repository ...
- 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)
利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库),完成预期的任务,大致有下面几步: 1.代码提交到github平台 2.创建.podspec 3. ...
- 我发起了一个 支持 ServerFul 架构 的 .Net 开源项目 ServerFulManager
大家好, 我发起了一个 支持 ServerFul 架构 的 .Net 开源项目 ServerFulManager . ServerFulManager 的 目标 是 实现一个 支持 ServerFu ...
- .NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5
.NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5 一个使用 Prism 作为模块化框架.基于多个开源控件库作为UI控件选择.集成开源 UI 界面设计的 .NET ...
- 支持中文!秒建 wiki 知识库的开源项目,构建私人知识网络
不知道有没有人和我一样,觉得自建的东西是互联网上的"自留地".私人空间,有一种自己的一亩三分地随心所欲的痛快. 比如自建的博客想写什么随笔就写什么,不用取悦读者可以自娱自乐:再比如 ...
- 微软宣布成立.NET基金会全面支持开源项目 包括C#编译器Roslyn【转】
基金会初始董事包括 Mono 项目和 Xamarin 的老大 Miguel de Icaza,微软 .NET 团队代表和微软开放技术公司(这是微软专门为开源和开放技术.标准化成立的独立公司)代表. 首 ...
- iOS 开源项目
在 Github 上 Star 太多了,有时候很难找到自己想要的开源库,所以在此记录下来.便于自己开发使用,也顺便分享给大家. 动画 awesome-ios-animation收集了iOS平台下比较主 ...
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
随机推荐
- wtf!rds数据同步居然出问题了--菜鸟db的数据修复历程
由于一次上线操作的数据变更太多,导致执行时间很长! 由于做手动主从关系,所以操作落在了主库上. 由于主从关系不是对整个库的操作,所以在有表新增的地方,添加了dts新的同步关系. db变更完成后,就发布 ...
- Elasticsearch之索引模板index template与索引别名index alias
为什么需要索引模板? 在实际工作中针对一批大量数据存储的时候需要使用多个索引库,如果手工指定每个索引库的配置信息(settings和mappings)的话就很麻烦了. 所以,这个时候,就存在创建索引模 ...
- 【Python3爬虫】斗鱼弹幕爬虫
在网上找到了一份斗鱼弹幕服务器第三方接入协议v1.6.2,有了第三方接口,做起来就容易多了. 一.协议分析 斗鱼后台协议头设计如下: 这里的消息长度是我们发送的数据部分的长度和头部的长度之和,两个消息 ...
- [翻译] EF Core in Action 关于这本书
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- Can`tconnect to MySQL server on 'localhost'(10061)问题解决
今天在登陆MySQL是登录不上出现了“Can`tconnect to MySQL server on ‘localhost’(10061)”的问题,于是便在网上到处搜资料查原因:但好多都是:让删除my ...
- 20190404-transition、transform转换、animation、媒体查询
目录 1.transition过渡 1.1简写:transiton:transition-property | transition-duration | transition-timing-func ...
- GDAL坐标转换
一.引言 最近研究了一下GIS.测绘学的坐标转换的问题,感觉大部分资料专业性太强,上来就是一通专业性论述:但感觉对于相关从业者来说,其实不必了解那么多背景知识的:就通过GDAL这个工具,来简单总结下坐 ...
- (五) Keras Adam优化器以及CNN应用于手写识别
视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 Adam,常 ...
- python正常时间和unix时间戳时间的相互转换源码
在学习过程,将内容过程比较常用的一些内容做个珍藏,下面的内容段是关于python正常时间和unix时间戳时间的相互转换的内容,应该是对各朋友有些帮助. import time def timestam ...
- PDF转图片工具
点击下载( 提取码:1ll1 ) 软件功能基于mupdf,UI使用wxpython开发 功能: 支持pdf转图片,图片格式png 支持批量转换 使用: 第一步,点击按钮添加文档到列表,或直接将待转换文 ...