Cocoapods作为iOS开发的包管理器,给我们的开发带来了极大的便利,而且越来越多的第三方类库支持Pod,可以通过Pod傻瓜式的集成到自己的工程中,那么问题来了,我自己也有一系列的小工具类,怎么让它也支持pod集成,进而以后的项目开发更加的方便的使用呢?

这是第二遍操作了,第一遍学习使用卡在中间,一直不成功....哈哈,多亏了师傅的帮助和解答.

这里再次操作熟练来记录下,算是总结吧:

1.上传项目源码:


把项目源码上传到gitHub仓库, https://github.com/PengSiSi/iOS_PSCategory

clone到本地,如果项目本来就在gitHub的仓库中,直接clone到本地即可.

2.用终端命令cd到本地项目目录并执行如下命令:

pod spec create iOS_Category

这时候本地就生成一个iOS_Category.podspec文件

3.用编辑器打开.podspec文件,我用的Xcode打开的.

Pod::Spec.new do |s|
s.name = 'iOS_Category'
s.version = '0.0.1'
s.summary = 'iOS_Category is a iOS_Category'
s.homepage = 'https://github.com/PengSiSi/iOS_PSCategory'
s.license = 'MIT'
s.author = { 'PengSi' => '1299625033@qq.com' }
s.source = { :git => 'https://github.com/PengSiSi/iOS_PSCategory.git',:tag => s.version.to_s }
s.source_files = 'iOS_Category/*.{h,m}'
s.frameworks = 'UIKit', 'Foundation'
s.requires_arc = true
s.ios.deployment_target = '7.0' end

4.为源代码添加对应的Tag;

git tag '0.0.1' //版本号

git push --tags //提交标签

5.验证podspec文件:

编辑完podspec文件后需要验证一下这个文件是否可用podspec文件不允许有任何的Warning或者Error

执行命令

pod spec lint iOS_PSCategory.podspec --verbose

注意:  任何的警告、错误都是不能被添加到Spec Repo中


6. 通过Trunk推送给Cocoapods服务器:

首先向trunk服务器查询自己的注册信息

pod trunk me

存在Trunk账号截图

没有注册Trunk的话,注册一个账号即可:

pod trunk register 邮箱全称 '用户名' --verbose

7.最后通过终端push对应的podspec,完成开源项目支持Cocoapods下载的最后一步

pod trunk push 工程名字.podspec

成功的结果截图:

8.搜索pod库, 这时就可以搜索自己刚提交过的开源文件

pod search iOS_PSCategory

注意点:

可能出现的错误:

http://www.itstrike.cn/Question/799c4add-42e1-4641-8641-27a4a16a1236.html

更加详细请参考这篇博客:

https://juejin.im/entry/57982040d342d3005908b63e











创建podspec文件,为自己的项目添加pod支持的更多相关文章

  1. iOS开发-- 创建podspec文件,为自己的项目添加pod支持

    开篇扯淡 作为一个iOS开发者,一定用过CocoaPods吧,没用过?点这儿去面壁吧 Cocoapods作为iOS开发的包管理器,给我们的开发带来了极大的便利,而且越来越多的第三方类库支持Pod,可以 ...

  2. 如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8s/helm管理

    这篇文章介绍一下,如何使用VS2017给asp.net core添加容器支持,并发布镜像到私有docker hub,然后用chart管理容器镜像的操作流程. 话不多说,just do it. 新建项目 ...

  3. 为项目添加CUDA支持

    最近研究体绘制方面的东西,需要用到CUDA加速.从官网下载了CUDA 7.0(支持VS2013)装好后,VS2013中能直接创建CUDA项目,也可以在原有项目中添加cu文件. 进入正题,为已有项目添加 ...

  4. idea 项目添加web支持

    选中项目添加 add - web

  5. springboot项目添加jsp支持

    一.创建springboot项目 使用 http://start.spring.io/ 快速创建一个springboot项目下载并导入 二.添加依赖 在pom.xml中添加支持jsp的依赖如下: &l ...

  6. android studio: 为现有项目添加C++支持

    刚开始创建项目的时候并没有勾选“include C++ support” 选项: 后期增加步骤: 1.拷贝已有支持C++项目的CMakeLists.txt文件到现有项目的app目录下: 2.在app/ ...

  7. 为老的vueCli项目添加vite支持

    1.前言 接手公司的某个项目已经两年了,现在每次启动项目都接近1分钟,hmr也要好几秒的时间,but vite2发布之后就看到了曙光,但是一直没有动手进行升级,昨天终于忍不住了,升级之后几秒钟就完成了 ...

  8. Web项目添加Maven支持

    很多时候,进入到某个项目组,并非项目刚刚开始:同样,很多时候,项目并非一开始就有Maven支持: 对现有的项目支持Maven,需要修改以下地方: 1. 将以下代码拷贝到工程根路径下的  .projec ...

  9. 已有Web项目添加Maven支持

    IDE:MyEclipse 当我们在现有的Web开发项目中集成 Maven 的时候,需要修改以下几个地方: 1.将以下代码拷贝到工程根路径下的 .project 文件中的 <buildSpec& ...

随机推荐

  1. ios h5 长按时出现黑色透明遮罩

    html,body{-webkit-text-size-adjust: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}

  2. MLE vs MAP: the connection between Maximum Likelihood and Maximum A Posteriori Estimation

    Reference:MLE vs MAP. Maximum Likelihood Estimation (MLE) and Maximum A Posteriori (MAP), are both a ...

  3. sql 184. 部门工资最高的员工

    Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id. +----+-------+--------+--------------+| Id ...

  4. CF875F Royal Questions[最大生成基环树森林]

    这题这场比赛一堆人秒切..果然还是我太菜了吗 题意:二分图,右边$m$个点每个点$i$向左边有且仅有两条连边,边权都是$a_i$.求最大匹配. 一个朴素思想,二分图匹配,用贪心带匈牙利搞一搞,但是复杂 ...

  5. 一步一步带你安装史上最难安装的 vim 插件

    YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.参考: https://github ...

  6. BZOJ 2882: 工艺 (SA/SAM/最小表示法)

    我写的O(nlogn)O(nlogn)O(nlogn)的SA 8000ms 被 O(n)O(n)O(n)的SAM 2800ms 和 O(n)O(n)O(n)的最小表示法 500ms 头都锤爆- COD ...

  7. [Spring Boot] Aspect Intro

    Aspect-Oriented Programming (AOP) complements Object-Oriented Programming (OOP) by providing another ...

  8. ant-design-vue 报错 ReferenceError: h is not defined

    使用表格,在配置 columns时用到了 customRender,然后就报错了 <script> import FileName from '@/views/admin/document ...

  9. html5原生js拖拽上传(golang版)

    一次只能传一个文件,需在main.go同级目录中建一个upload文件夹 main.go package main import ( "fmt" "io" &q ...

  10. vue 项目实战之小坑坑

    1. Vue 多个元素动画 ,需要使用 transition-group 标签,并且需要赋值 唯一 key 值. 2. 用ajax 获取到数据赋值给data 后 ,再手动向data里添加的属性无效. ...