cocoapods私有库创建流程

Cocoapods注册Trunk

如果你想创建一个私有库或者发布一个公有的pod库之前,你需要一个Cocoapods Trunk。注册流程如下

# 下面命令包括[]在内的内容需根据自己信息输入
$ pod trunk regist [your-email] '[your-name]' --description='[your-desc]'
> [your-email]:任意邮箱
> [your-name]:任意名字
> [your-desc]:一个简单的描述

//注册完成后,你可以通过下面命令查看信息
$ pod trunk me

一、创建一个私有库

创建私有库需要有2个私有仓库,一个放podspec文件,一个放代码文件


仓库截图

1.1 在码云上创建一个私有索引项目

首先在码云上创建一个私有的SpecKit项目,用于存放podspec文件。因为是私有库,所以你想让别人使用需要给使用的人添加权限,既将对方添加到该项目中就可以了。

地址:https://gitee.com/fanfan11/YZSpecKit.git

1.2 将托管平台的索引库地址添加到本地的repo仓库中

pod repo add [本地文件名字] [远程Git地址]

$ pod repo add YZNBaseKit https://gitee.com/fanfan11/YZSpecKit.git

执行上面命令后在~/.cocoapods/repos路径下会存在一个YZNBaseKit文件夹。

2.1 在码云上创建一个私有项目

按照步骤1.1中创建另一个私有的YZNCommonView项目,用于存放pos库中的代码文件。

地址:https://gitee.com/fanfan11/YZNCommonView.git

2.2模板初始化

进入指定的目录,在ternimal中执行
pod lib create [pod 库的名字]
该命令其实是下载了一个pod模板,然后在内部通过更改.podspec文件的配置定制化自己的pod

$ pod lib create YZNCommonView

执行以上命令需要填写以下问题


根据自己情况回答

执行完成后可以在你的目录文件下多了一个YZNCommonView文件夹,内部文件内容如下


文件夹内容

将编写代码放入文件夹中,进入Example文件夹中执行pod install,成功后打开workspace文件,pod文件夹下已经存在你编写的代码文件了


pod库代码

2.3修改podspec配置文件

关键字 含义 必填
name 框架名
version 框架版本号
summary 框架简介
description 框架详细介绍
homepage 主页
license 开源协议
author 作者
source 源码Git地址
source_files 源码文件位置
deployment_target 支持版本
frameworks 依赖的系统框架
vendored_frameworks 依赖的非系统框架
libraries 依赖的系统静态库
vendored_libraries 依赖的非系统静态库
dependency 依赖的第三方库

这里再添加一点,可以创建subspec。subspec可以将库进行拆分,只导入部分代码,并且在使用时分文件夹。
使用方式:pod 'YZNCommonView/YZNComView'

s.subspec 'YZNComView' do |ss|
     ss. source_files = 'YZNCommonView/Classes/CommonView/*'
#   ss. dependency = ''
#   ss. libraries = ''
end

2.4将项目代码提交到码云上

1、初始化git版本库:git init
2、添加文件到本地库:git add .
3、提交文件到本地库:git commit -m "msg(提交日志)"
4、关联远程库:git remote add origin(可修改) branch_Name(为空时默认为master) url
关联之后可以用git remote -v 来检查是否关联成功
5、一般情况需要先pull一下:git pull origin master
一般情况下含有共同文件时需要执行 git merge origin/master --allow-unrelated-histories
这之后解决一下冲突,重新提交
6、push到远程库:git push -u origin master

创建tag

$ git tag -a 0.0.1 -m "xxx"
$ git push origin --tags

2.5向索引库提交spec文件

验证本地和远程忽略警告

$ pod lib lint --allow-warnings
$ pod spec lint --allow-warnings

有些非语法错误是不会给出错误原因的。这个时候可以使用“--verbose”来查看详细的验证过程来帮助定位错误。

pod lib lint --verbose

包含.a静态库,虽然这并不影响Pod的使用,但是验证是无法通过的。可以通过 --use-libraries 来让验证通过。

pod lib lint --verbose --use-libraries  --allow-warnings

当依赖库中有私有库的情况

pod lib lint --no-clean --allow-warnings --use-libraries --sources='https://github.com/CocoaPods/Specs.git,https://gitee.com/fanfan11/YZSpecKit.git'
pod spec lint --no-clean --allow-warnings --use-libraries --sources='https://github.com/CocoaPods/Specs.git,https://gitee.com/fanfan11/YZSpecKit.git'

验证通过后,提交spec文件

pod repo push YZNBaseKit YZNCommonView.podspec --verbose --use-libraries  --allow-warnings

执行上面命令是将YZNCommonView.podspec文件添加到.cocoapods/repo/YZNBaseKit中并提交到远程仓库。

最后:
包含私有库,公有库也要写source。如果用trunk源 source 'https://cdn.cocoapods.org/'

source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git' //清华源

source 'https://github.com/CocoaPods/Specs.git' //cocoapods老源

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