如何使用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管理项目的过程中出现了没有提及到的问题,请描述下问题所在,我会尽快给修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容