本地库及模板文件创建
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文件中的版本号一致。
打标签步骤如下:
再次校验
这里遇到很多警告但是校验通过
3 向私有的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标记 上传
整理内容欠佳,有不足之处还望路过大仙多多指点!