cocoapods创建公有库

笔者之所以写这篇文章是因为自己记性不好,方便自己和像我一样的人查阅,顺便把自己项目里用到的东西分享给大家,忘记了再查阅一下。

1、注册CocoaPods账户信息(已注册过请略过)

创建一个开源pod库, 首先我们要注册CocoaPods账户, 使用trunk方式在终端执行:

pod trunk register '邮箱地址' '用户名'  --description=‘描述内容’ --verbose

可以直接使用GitHub邮箱和用户名, 然后在你的邮箱中会收到确认邮件, 在浏览器中点击链接确认即注册成功, 成功之后可以终端执行:

pod trunk me

如果显示类似下面的信息,代表已经成功!


image.png

2、创建仓库并克隆

1. 首先创建一个你想上传的库的同名仓库
image.png
2. 克隆到本地
image.png
image.png

3. 创建.podspec文件并修改对应信息,将上传代码文件夹拖进去

pod spec create ZQNetworking.podspec
image.png
Pod::Spec.new do |spec|

  spec.name         = "ZQNetworking" # 项目名称

  spec.version      = "1.0.0" # 版本号 与 你仓库的 标签号 一致

  spec.summary      = "A set of useful Base Object for Foundation, UIKit and more.This is my personal packaged network request tool" # 项目简介

  spec.homepage     = "https://github.com/zziqiang/ZQNetworking" # 项目主页

  spec.license      = "MIT" # 开源证书

  spec.author             = { "zhengziqiang" => "a516969532@163.com" } # 作者信息

  spec.social_media_url   = "https://github.com/zziqiang" # 个人主页

  spec.platform     = :ios, "9.0" #平台及支持的最低版本

  spec.source       = { :git => "https://github.com/zziqiang/ZQNetworking.git", :tag => spec.version } #你的仓库地址,不能用SSH地址

  spec.source_files  = "ZQNetworking/**/*.{h,m}" # 代码的位置, ZQNetworking/*.{h,m} 表示 ZQNetworking 文件夹下所有的.h和.m文件

  spec.requires_arc = true # 是否启用ARC

  # spec.public_header_files = "Classes/**/*.h"

  # spec.resources = "Resources/*.png"

  spec.dependency "AFNetworking" ,"~> 3.2.1"

  spec.frameworks = "UIKit" # 依赖库

end
文件夹结构

4. 编写完成后需要验证.podspec文件的合法性

pod lib lint ZQNetworking.podspec

其他命令:

//本地验证
pod lib lint      
//本地和远程验证   
pod spec lint    
// 显示详细的检测过程,出错时会显示详细的错误信息
pod lib lint --verbose
//允许警告,用来解决存在警告导致不能通过校验的
pod lib lint --allow-warnings  
4.1 这里常见的错误

ZQNetworking.podspec中的路径、名称千万不能错了!
dependency、source_files这两个一定不能搞错了!
这一点是最重要的!如果创建的公有库依赖其三方库在验证过程中会报[-Werror,-Wnon-modular-include-in-framework-module],是不能在.h文件中直接引入三方文件的!

4.2 解决办法

如无必要,尽量在.m文件中声明 eg:#import "AFNetworking.h"
如果一定要暴露三方库才有的参数或接口 #import <AFNetworking/AFNetworking.h>

不断排错,不断验证,直到出现下面的结果:

image.png

恭喜你,即将踏上公有库创建成功之路了!

5、打tag标签,提交到远程仓库

git tag -a '1.0.0' -m '第一次提交'

git push --tag #推送tag到远端仓库

在此之前,需要先提交一次代码,然后打标签,相关git命令行操作自行百度,也可以使用sourceTree提交

6、发布自己的库描述文件.podspec至cocoapods

完成上面,仅代表你已经上传成功,通过pod search ZQNetworking找不到的,也无法使用

pod trunk push ZQNetworking.podspec --allow-warnings

发布到cocoaPods,之后还需要更新本地的search_index.json文件

//pod setup成功后生成的~/Library/Caches/CocoaPods/search_index.json文件, 是用来查找的索引文件
rm ~/Library/Caches/CocoaPods/search_index.json
或者
pod repo update
//并再次输入:
pod search ZQNetworking

成功!

6.1 遇到的问题

其实,我并没有成功 = =|| ,我遇到了重名的问题!!!


image.png

没办法,重新来一遍


提交成功!

7、更新维护podspec

后续需要版本迭代,修改工程文件后推送到远端仓库后, 需要修改podspec中的版本号, 并重新打tag上传, 再进行新一轮的验证和发布。(重复5-6操作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352