iOS 使用Cocoapods创建自己的Cocoapods公共库

1. 创建一个工程

打开终端,切换到你要创建的位置的目录,我这里是/Desktop/POD

cd Desktop/POD
pod lib create HYPodTestOneDemo

1、What is your email?
填入自己的邮箱地址。
2、What platform do you want to use?? [ iOS / macOS ]
根据自己的需要选择, 此处选择iOS。
3、What language do you want to use?? [ Swift / ObjC ]
根据自己的需要选择, 此处选择ObjC。
4、Would you like to include a demo application with your library? [ Yes / No ]
是否创建一个demo应用包含在工程里, 根据自己的需要选择,此处选择Yes。
5、Which testing frameworks will you use? [ Specta / Kiwi / None ]
是否需要使用测试Framwork,选择None。
6、Would you like to do view based testing? [ Yes / No ]
否需要做接界面调试test,此处选择No。
7、What is your class prefix?
设置工程文件的前缀,这个根据自己的代码规范填写。

创建pod项目.png

2.填写Pod的Metadata和验证

  • .podspec这个文件主要是用来描述pod的版本号,首页(homepage),作者信心等,具体的可以参看官方offical reference page
  • README如果你使用过GitHub,你肯定知道README文件的重要性,这个文件可以使用Markdown语法,主要展示在GitHub工程上的首页。README文件对于使用这个pod库的人来说,有和没有这个文件,区别是很明显的,此外这还有助于创建一个高质量CocoaPods Quality Index
  • LICENSE要想是Spec仓库接收,就必须包含一个license。命令pod lib create 自动创建使用的是 MIT license;
    其实通过pod lib lint 这个命令,Cocoapods已经帮我们创建了一个模板我们只需要在里面根据需要你进行配置即可.没有用到的注释(#开头的)可以删除掉,看起来舒服一些.
pod项目文件配置.png

其中,s.version 根据自己项目的版本配置好
s.summary 最好填写一下描述,不然会有警告

3.在GitHub中创建一个项目

创建GitHub项目.png

接下来就需要把自己的工程推送到Github:

git add .
git commit -m “Initial Commit"
// replace <GITHUB_USERNAME> with your github.com username
git remote add origin https://github.com/<GITHUB_USERNAME>/YourPodName.git 
git push -u origin master

做完以上操作,没有问题的话, 就可以做验证了:

pod lib lint HYPodTestOneDemo.podspec
pod验证.png

只要见到passed validation就是成功通过了验证。

4.添加自己的代码

通过以上步骤,我们只是创建了一个合格的空的工程,并没有实现任何功能,接下来在图中classes路径下创建自己的代码类。


添加自己的代码文件.png

添加完自己的代码后执行以下命令

git add .
git commit -m "code"
git push

1、以上已经可以使用pod导入库文件

pod   'HYPodTestOneDemo', :git => 'https://github.com/<GITHUB_USERNAME>/HYPodTestOneDemo'

2、发布开源项目到cocoapods上去需要添加版本号,用git tag添加版本号。

git tag -a 1.0.0 -m"version 1.0.0"

添加完版本号后,用'git tag'命令查看tag是否添加成功

git tag

将本地添加的tag同步到远程代码仓库:

git push --tag

终端切换到.podspec文件所在的目录下面,运行命令

pod spec lint HYPodTestOneDemo.podspec

-> HYPodTestOneDemo (1.0.0)

Analyzed 1 podspec.

HYPodTestOneDemo.podspec passed validation.

提交pod到Specs仓库

pod trunk push HYPodTestOneDemo.podspec

Updating spec repo `master`
Validating podspec
 -> HYPodTestOneDemo (1.0.0)

Updating spec repo `master`

----------------------------------------------------------------------
 🎉  Congrats

 🚀  LPodTest (0.1.0) successfully published
 📅  March 3rd, 03:07
 🌎  https://cocoapods.org/pods/LPodTest
 👍  Tell your friends!

需要注意的是,这种提交命令,不允许你的podspec文件存在警告。若存在警告,则不能通过有效性验证,导致发布失败!

我们可以加上允许警告的选项(--allow-warnings)如:

pod trunk push HYPodTestOneDemo.podspec --allow-warnings

使用pod search 检验是否可用

pod search HYPodTestOneDemo

若出现红色报错:


pod search error.png

可以通过重新创建索引来解决:

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

再次搜索时,会自动重新创建索引


搜索成功.png

终端提示(END) 键盘敲Q退出

接着本地测试一下,如果你在创建工程时候创建了一个包含demo的工程,那么你可以先切换到工程的Example文件目录下面使用命令:

pod install 
pod install.png

成功以后你就可以在demo文件中使用你的功能文件了.如果不能导入,那么可以commond + B编译一下再导入使用

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

推荐阅读更多精彩内容