如何使用Cocoapods管理自己github上的项目,并让其支持pod

因为踩了不少坑儿,所以决定自己来吐吐如何使用 Cocoapods 来管理github 上的项目,并且可以让开发者通过 pod 自己的代码下来使用。

1. 在 github 上初始化仓库

  • 在你的 github 下初始化一个仓库:
初始化仓库.png
  • 初始化仓库完成
初始化仓库完成.png
  • 通过终端命令或者github客户端将仓库 clone 到本地
  • 通过终端命令 clone 仓库


    使用终端进行clone远程仓库

注意:确保你电脑的 Desktop 上没有跟你仓库同名的文件夹,否则会提醒是否将桌面上已存在的同名文件夹替换掉

  • clone 仓库完成
clone仓库完成.png
  • 将你的 Demo 文件夹下的所有文件移至 clone 下来的文件夹下
未将文件转移.png
转移文件后.png

亲测 只需要进行一次提交就可以完成提交至 Cocoapods 进行管理,不需要先首次提交,在进行 .podspec 的创建,若是初次尝试,请忽略这句话

2. 创建 .podspec 文件进行配置

  • 打开终端

  • 通过 cd + 文件夹路径(直接将文件拖入终端即可) 进入到你的仓库下

  • 通过 pwd 可查看当前路径(来确保是否在当前仓库)

  • 使用 pod spec create + 前缀名称(例:xxx.podpec , 该xxx就是前缀名称,建议使用你的库名称) 创建 .podspec 文件

  • 得到一个前缀名称 .podspec的文件,可以将此文件拖至 Xcode 进行打开,或使用其他的编辑器进行打开

  • 初次打开 .podspec 文件,在文件里头有相当多的 注释+配置信息,如果你是一个 坚强的人的话可以全部浏览,进行分析。笔者建议直接删除,将需要配置的信息进行 copy,然后修改
    copy内容如下

    copy内容.png

  • copy 完之后,对配置进行对应的修改,修改完之后进行tag标记,然后上传至 github

重点( tag 标记上传至 github ):
此处默认以上操作完成(终端完成以下操作,前提路径在该仓库下).
1> git tag 'xxx'(xxx必须是你在 .podspec 文件中的 version(版本号))
2> git add . (添加)
3> git commit -m '提交内容'
4> git push origin xxx(xxx是你的tag号)

  • 以上操作完成之后,输入pod lib lint 命令来查看你的.podspec文件是否配置成功。


    xxx.podspec配置成功后.png

此处如果出现红色警告,查找到 ERROR 处,查看对应的配置项,打开 xxx.podspec 进行相关修改

3. 发布到 Cocoapods 进行管理

这一步是最简单的了
终端中,在该仓库路径下,输入 pod trunk push 命令即可。
出现:

完成上传.png

此处应该有掌声(for yourself),因为你已经成功将你的代码上传至 Cocoapods 进行管理。

but -> maybe wrong ->see below

4. 通过 pod search xxxx 来进行搜索,验证我们是否提交成功

如果通过 pod search xxx(自己刚刚提交的库) 成功了,那么恭喜你。
如果通过 pod search xxx(自己刚刚提交的库)的时候出现了下面的问题,请继续往下看:

  • 问题描述:

    问题描述.png

  • 解决方法

    解决方法.png

  • 验证

    接下来通过 pod search xxxx 进行搜索,稍等片刻.png

  • 成功(game over)

    gameOver.png

所过之处,必有其坑,整个过程当中存在的坑:

  • .podspec 配置文件中 s.source_files 造成的坑:

    • 鉴于对 .podspec 文件中 s.source_files 的路径配置未能摸索到位的原因,建议 初次尝试的人 通过 Xcode 初始化一个 Demo 工程后,再将你的库文件导入到工程中进去, 然后你 show in fonder 下就会发现, 你的文件夹下的文件是这样子的
      文件.png

      然后在将这些文件移至你的本地仓库中,这样的话 .podspecs.source_files 路径按照 截图 才对。 否则你会卡死在 s.source_files 配置下, 不信你试试。
  • tag(标签) 值、 .podspec 配置文件中的 s.version 、推送远程仓库是的 origin + xxx(该值) 是一致的

    • git tag 'xxx'
    • git push origin xxx
    • .podspec 配置文件中的 s.version

如果通过该文章实现Cocoapods管理项目的过程中出现了没有提及到的问题,请描述下问题所在,我会尽快给修改。

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

推荐阅读更多精彩内容