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

来源:互联网 发布:java打印金字塔型数字 编辑:程序博客网 时间:2024/06/06 09:24

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
原创粉丝点击