参考文章:https://www.jianshu.com/p/a73b6bfdb41a
1:首先准备两个git地址
(一度以为example的地址和repo是同一个地址 导致混在一个目录结构)
git@192.168.39.26:miaoliujie/MLJGitAddress.git
(存放example 工程的地址)
git@192.168.39.26:miaoliujie/MLJRepoAddress.git
(存放.podspec的地址)(pod repo add MLJRepo git@192.168.39.26:miaoliujie/MLJRepoAddress.git)
2:创建Lib 会问几个问题一步步来就行
$ pod lib create MiaoLib
What platform do you want to use?? [ iOS / macOS ]
> ios
What language do you want to use?? [ Swift / ObjC ]
> objc
Would you like to include a demo application with your library? [ Yes / No ]
> yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> none
Would you like to do view based testing? [ Yes / No ]
> QC
Possible answers are [ Yes / No ]
> yes
What is your class prefix?
> QC
3:将repo和地址联系起来
$ pod repo add MiaoRepo git@192.168.39.26:miaoliujie/MLJRepoAddress.git
Cloning spec repo `MiaoRepo` from `git@192.168.39.26:miaoliujie/MLJRepoAddress.git`
4:demo工程存放到对应git地址
$ cd /Users/miao/Desktop/MiaoLib
$ git add .
$ git commit -m "Init"
$ git remote add origin git@192.168.39.26:miaoliujie/MLJGitAddress.git
$ git push --set-upstream origin master
(以上几步将exampledemo 放入git@192.168.39.26:miaoliujie/MLJGitAddress.git管理)
5:打标签这个标签的版本号和podspec中的s.version是对应的 也可以后面再打
$ git tag -m "first demo" 0.1.0
$ git push --tags

添加文件.png

添加第三方.png
6:验证lib 排查是否有错误
$ pod lib lint MiaoLib.podspec
$ pod lib lint MiaoLib.podspec --allow-warnings --verbose(忽略警告和查看详细)
7:新做的更改上传 同时更改s.version的版本号 这俩一般要保持同步
$ git push
$ git tag -m "podSpec Demo" 0.1.1
$ git push --tags
9:repo仓库的管理 就一个podspec文件 这个操作一般是在lint通过后
$ pod repo push MiaoRepo MiaoLib.podspec
(.podspec验证通过 将MiaoRepo放入 git@192.168.39.26:miaoliujie/MLJRepoAddress.git 此时开始被git管理)
10:命令行搜索这时应该能找到了
$ pod search MiaoLib
Creating search index for spec repo 'MiaoRepo'.. Done!
Creating search index for spec repo 'MLJRepo'.. Done!

2.png

1.png

正确导入方式1.png

正确导入方式2.png

错误导入方式1.png

错误方式2.png

lib的git地址.png
(这个里面是我们引用单pod的对应地址)

lib.podspec的git地址.png
(这个里面可以放多个lib.podspec 即一个source对应多个lib

两个source对应多个pod 不用每个都加=>git.png
)

在pod根目录的位置.png

在pod根目录的位置2.png

repo和lib共用一个git地址出现的情况.png
用私仓踩坑

只有一个私有source管全局 没官方的 失败1.png

lib 正常1.png

除了私有source 还加官方source 正常2.png

除了私有source 还加官方source 正常2.png

只有私有source 失败2.png
说明source会影响全局 source 和 单pod git地址是两个概念
source和repo对应可存放多个.podspec
单git地址是和pod对应
因为pod版本和tag对应 所以要想某个版本生效 都要先打tag 在将repo push到对应的repo仓库的git地址
podlib的git地址 https://gitee.com/heyuefengyun/JLibAddress
repo的地址 https://gitee.com/heyuefengyun/JLibRepo
使用pod的demo地址 https://www.jianshu.com/p/462b8f7c802d
package插件 打出来的包