Cocoapod私有库搭建及踩坑

1,238 阅读4分钟

本地库及模板文件创建

1 远程库创建

先创建一个远程库 例如:名称为YSMSpecs(记住这个名字) 可以是 GitHub gitee 阿里云等等,这里演示用的是github (github现在可以创建私有项目了,不过有限制大小,貌似是50M)

2 远程索引库添加到本地

 终端执行命令: pod repo add 项目名 项目git_url ,使用命令:pod repo 可以查看本地索引仓库列表

本地仓库查看地址 /Users/用户名/.cocoapods 注:.cocoapods该文件为隐藏文件

3 本地创建源码工程

本地创建我们的源码工程,可以使用 终端执行命令  'pod lib create YSMKit '创建完一个模板工程,该工程名字就是YSMKit ,操作如下,操作完成后项目工程会自动弹出

执行的结果,及问答如下图,注:我这里创建的是Swift 

4 模板工程操作

在模板工程里 进行开发并替换ReplaceMe文件,修改.podspec文件(版本号 源码地址),推送到远程源码仓库,打tag,提交 (这个使用 git 命令操作跟平时管理项目一个概念)。源码仓库部署完成 

这里涉及到两个文件Pods下面的ReplaceMe文件 和项目文件下的.podspec文件

ReplaceMe 是需要删除的

.podspec 文件 里面是配置项目的文件,例如:名称 版本号 项目描述 项目支持的iOS版本 项目依赖的静态库和第三方库等等

5 .podspec校验

这一步最重要的一步,也是很容易忽略的一步,不然提交后检查会出现很多问题。

终端执行:cd 到Example文件下,然后pod install下,更新Example项目的pod

—操作完成后,cd 到YSMKit(模板工程下),然后验证.podspec文件

终端执行 Pod lib lint YSMKit.podspec (项目名称.podspec) //本地文件校验文件的有效性,有效才可上传

我这第一次提交报错,报错如下:

根据红色字体提示说是因为两个警告所以校验失败,

根据提示终端执行 pod lib lint YSMKit.podspec --allow-warnings 第二次提交成功

 本地库关联上传到远程仓库

1 本地项目与远程仓库关联

终端执行命令 

git remote add origin 远程仓库地址 

git push origin master // 推送代码到主分支

如果你们上一步执行成功则下一步可以忽视

我这里push的时候各种报错,就想着先pull然后再push

执行 git pull origin master,结果

然后尝试另一种命令

git pull origin master --allow-unrelated-histories

上述原因是代码有冲突然后打开代码修改冲突重新提交

这里上传成功之后对应的远程库里面就可以看到你对应的文件了

注意:

2 git tag标记, 校验 .podspec

终端执行命令进行本地和远程验证文件有效性

pod spec lint yourPodName.podspec

显示我们没有远程仓库打标签,这里需要重点注意的是,我们给打的标签值要与podspec文件中的版本号一致。

打标签步骤如下:

再次校验

这里遇到很多警告但是校验通过

向私有的spec Repo远程仓库中提交podspec 

向私有的spec Repo远程仓库中提交podspec

终端执行 pod repo push yourRepoName yourPodName.podspec 命令把私有库添加到私有repo中

注意的是:仍然在本项目的目录路径下进行操作:

二次处理  执行允许警告的命令

pod repo push YSMSpecs YSMKit.podspec --use-libraries --allow-warnings

成功的话就仓库中就回生成对应的文件如下:

上述成功的话终端 pod search 就可以搜到自己的文件了,这里有点瑕疵忘记截图了抱歉

库的使用

podfile 中 写入 :pod 'YSMKit' 跟正常的使用一样

我这里刚开始是报错的,后来才知道我在git上建立的私有库而不是开源库

下面是私有库的使用方法

私有库的分享

写在后面的话

git操作补充

Git status 查看代码与上次的状态

Git add . 代码编号提到暂存区

git commit -m “备份备注” 本地备份

git push origin master 提交到主分支

git pull origin master 从主分支拉下代码

git tag -m "标记备注" -a 0.1.0 //git tag 标记

git tag //检测git tag 标记

git push --tags // git 标记

pod 补充

YSMKit文件夹下的Classes文件,里面是放入你需要共享的文件

放入后Example 执行 pod update 文件会同步

以后的维护: 校验 .podspec   git tag标记  上传

整理内容欠佳,有不足之处还望路过大仙多多指点!