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. err:LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLE

    err:LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLE err:LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLE err:LIBUSB_S ...

  2. JVM 字节码指令手册 - 查看 Java 字节码

    JVM 字节码指令手册 - 查看 Java 字节码 jdk 进行的编译生成的 .class 是 16 进制数据文件,不利于学习分析.通过下命令 javap -c Demo.class > Dem ...

  3. Hutools之http工具类

    Hutools请求网络资源使用的工具类:HttpRequest和HttpResponse Get方式请求数据 Get方式请求数据Map<String,Object> paramMap = ...

  4. Linux之apt-get软件管理

    apt-get 用Linux apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上.把它们的地址加入,apt-get ...

  5. 将 对象序列化与反序化 (json格式)

    实体类 package com.nf.redisDemo1.entity; public class News { private long id; private String title; pri ...

  6. RAID的多种实现

    RAID的诞生 由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年,发表的文章:"A Case for Redundant Arra ...

  7. php+列出目录文件

    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助.此控件PC全平台支持包括mac,li ...

  8. LOJ #2734 Luogu P3615 [JOI2016春季合宿]Toilets (结论、贪心)

    题目链接 (loj) https://loj.ac/problem/2734 (luogu) https://www.luogu.org/problem/P3615 题解 嗯,考场上肝了\(3h\)然 ...

  9. 原生Js_简易图片轮播模板

    功能:图片自动循环轮播,通过点击“上一张”,“下一张”按钮来控制图片的切换 <!DOCTYPE html> <html> <head> <meta chars ...

  10. Flume使用

    avro agent 配置文件 cd $FLUME_HOME/conf vim avro.conf a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1. ...