在GitHub上搭建框架podspec过程以及遇到的问题

2017-10-31更新——————————-
给podspec添加第三方库依赖的时候,需要判断是否包含了第三方库文件,否则会报错,podspec校验不通过,如需要添加第三方库依赖为:

s.dependency "HYTool", "~> 0.0.3"

则代码中需要加入 __has_include 的判断

#if __has_include(<HYTool/HYPathTool.h>)
#import <HYTool/HYPathTool.h>
#else
#import "HYPathTool.h"
#endif

这篇文章记录了自己在GitHub上搭建框架podspec过程以及遇到的问题

总的来说可以分为5步骤

一、在GitHub上和电脑本地搭建项目
二、配置.podspec文件
三、上传本地项目文件到GitHub
四、配置tag并验证podspec文件
五、发布框架

具体过程如下:

一、在GitHub上和电脑本地搭建项目

这一步主要就是把GitHub的项目和本地的项目关联起来

1、在GitHub上新建一个项目仓库(只有LICENSE和README.md两个文件)
2、把GitHub项目clone到电脑本地
3、在该文件目录下新建项目或者导入已经存在的项目,并搭建项目文件结构
4、在该项目目录下,即LICENSE或者README.md文件的同一级目录新建一个同名的文件夹,用来存放相关的文件,也是用于后续的pod文件路径

文件目录结构大致如下(不是固定的,可以参考GitHub上开源框架的文件结构,如AFNetworking)

- HYTransitionAnimation 
    - HYTransitionAnimation (用来放置框架文件,别人pod就是这个文件下的内容)
    - HYTransitionAnimationDemo (演示Demo)
    - HYTransitionAnimation.podspec (podspec的配置文件)
    - LICENSE (证书信息)
    - README.md (使用说明)
二、配置.podspec文件
1、创建.podspec文件

命令为:pod spec create 项目名称
如:pod spec create HYTransitionAnimation

2、编辑.podspec文件,文本编辑工具都可以,如Sublime
- version 版本信息,如0.2.1
- summary 摘要,如HYTransitionAnimation
- description 描述,如a collection of transition animation
- homepage 框架主页,一般都是填框架在GitHub的地址,如https://github.com/oceanfive/HYTransitionAnimation
- license 证书类型,如MIT
- platform 平台类型,如ios, "7.0"
- source 来源位置,如https://github.com/oceanfive/HYTransitionAnimation.git
- source_files 源文件位置,如HYTransitionAnimation/**/*.{h,m}
- frameworks 需要使用的框架,如 UIKit
- requires_arc ARC需要,如true

以上配置内容都创建文件的时候都有,我们做的是根据需要进行修改就好了;
这里需要着重说一下source_files填写的内容,本人这里花的时间最多,这里写的是相对文件路径,以podspec文件的作为参考标准;建议按照HYTransitionAnimation/**/*.{h,m}这种格式填写,意思是添加HYTransitionAnimation文件下包含子目录的所有.h和m文件;

三、上传本地项目文件到GitHub

内容和配置文件都完成之后需要上传到GitHub才行;工具的话可以使用命令行,也可以使用sourcetree

四、配置tag并验证podspec文件
1、设置tag

命令:git tag "版本号"
如:git tag "0.2.1"
注意:tag一般和版本号相同,我试验结果是相同可以验证成功,不同会一直验证失败

2、推送到远端

git push --tags

3、验证podspec文件

命令:pod spec lint 框架名称.podspec --verbose
如:pod spec lint HYTransitionAnimation.podspec --verbose

验证的时候可能会出现以下错误,

[!] The validator for Swift projects uses Swift 3.0 by default, if you are using a different version of swift you can use a `.swift-version` file to set the version for your Pod. For example to use Swift 2.3, run:
`echo "2.3" > .swift-version`.

解决:在终端执行命令 echo "3.0" > .swift-version ,会生成一个文件(这是一个隐藏文件)

注:错误解决之后需要重新执行步骤三、四,一直到验证成功才行,验证成功后显示内容如下:

HYTransitionAnimation.podspec passed validation.

五、发布框架
1、注册trunk

命令:pod trunk register 邮箱地址 "用户名称" --verbose
如:pod trunk register 123456789@qq.com "one" --verbose
这时候会有一封邮件发送到邮箱地址,需要你去验证才行

2、发布

命令:pod trunk push 框架名称.podspec
如:pod trunk push HYTransitionAnimation.podspec

发布成功时终端显示内容如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值