iOS 组件化开发:创建自己的cocoapods

一内容概述

cocoapod是用来ios工程引入第三方库的工具,比如引入网络库AFNetworking,方法为 pod 'AFNetworking'。本文主要介绍如何把自己的写的类库上传到cocoapod,使之可以如同AFNetworking一样使用。

二详细步骤

1.搭建框架

打开终端,创建一个空文件夹作为创建自己cocoapod的内容根目录:mkdir ownpod

进入文件夹ownpod,执行命令:pod lib create jkCircleImage,jkCircleImage为类库的名称,需要自己定义,该名称将作为引入到工程的名称。

接下来会有一些列问题,作答即可:

image

总目录结构如下:

image

回答完成之后会在目录Example下自动执行pod install命令,该目录为测试项目目录

把自己的类库保存到文件夹Classes下面,清空该文件夹下的源文件

此时在回到Example文件夹中执行 pod update就可以看到自己的类库进入了pod下面

2.创建git仓库

创建自己的git仓库用来管理根目录下的全部文件:

https://github.com/songjk/jkCircleImage.git

3.通过框架进行设置

修改配置文件:jkCircleImage.podspec

image

验证配置是否正确:终端进入根目录jkCircleImage,执行命令:pod lib lint jkCircleImage.podspec ,(如果有警告请尝试:pod lib lint jkCircleImage.podspec --allow-warnings)提示jkCircleImage passed validation.表示正确。

4.把框架文件推送到git仓库

终端进入根目录jkCircleImage,执行命令(tag和版本号要保持一致):

git init

git add .

git commit -a -m "初始化"

git tag "0.1.0"

git remote add origin https://github.com/songjk/jkCircleImage.git

git push origin master --tags
(如果失败,请强制push:git push origin master --tags -f)

5.注册****CocoaPods Trunk

在CocoaPods Trunk中注册,用邮箱注册,注册成功会有邮件返回。注册方法:在终端执行:pod trunk register 447299884@qq.com "Songjk" --verbose

等注册的邮箱收到CocoaPods的确认邮件。点击邮件中的验证链接,提示Ace, You're set up. 然后才可以进行下一步(如果是升级也需要执行这一步!)。

6.发布自己的类库

终端进入根目录jkCircleImage,执行命令:pod trunk push jkCircleImage.podspec --verbose
(如果有警告请尝试:pod trunk push jkCircleImage.podspec --verbose --allow-warnings)

发布完成之后在浏览器输入地址可以检验是否成功:<u>https://cocoapods.org/pods/jkCircleImage</u>

以后就可以在任何工程直接使用自己发布的类库了,使用方法:pod 'jkCircleImage'

7.疑问解答

如果发现pos search 或者 pod 失败,请更新pod,然后依次执行如下命令:

 pod setup
 rm ~/Library/Caches/CocoaPods/search_index.json

备注

官方教程网站:<u>https://guides.cocoapods.org/making/making-a-cocoapod.html</u>

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

推荐阅读更多精彩内容

  • 要解除循环依赖,引入包管理技术cocoapods会让我们更有效率。pod不允许组件间有循环依赖,若有pod ins...
    cs_mark阅读 2,094评论 0 1
  • 一内容概述 cocoapod是用来ios工程引入第三方库的工具,比如引入网络库AFNetworking,方法为 p...
    songjk阅读 815评论 0 5
  • 文章目录 简书的目录跳转还在研究中... 什么是CocoaPods?CocoaPods的核心组件 podspec文...
    Mccc_阅读 3,859评论 5 21
  • Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自...
    Nash33阅读 2,083评论 0 50
  • 这次的题目文艺吧,是不是看不懂啦?哈哈,各位听众朋友继续往下看。 2000年还属于童年时代,周围的人还都是小屁孩,...
    乐启阅读 361评论 0 3