2018-06-09 cocopods私仓创建

参考文章:https://www.jianshu.com/p/a73b6bfdb41a

1:首先准备两个git地址 (一度以为example的地址和repo是同一个地址 导致混在一个目录结构)

[email protected]:miaoliujie/MLJGitAddress.git
(存放example 工程的地址)

[email protected]:miaoliujie/MLJRepoAddress.git
(存放.podspec的地址)(pod repo add MLJRepo [email protected]:miaoliujie/MLJRepoAddress.git)

Last login: Sat Jun 9 11:14:26 on ttys000
2:jingzhe:~ jingzhe$ pod repo add MiaoRepo [email protected]:miaoliujie/MLJRepoAddress.git
(将repo和地址联系起来)

Cloning spec repo MiaoRepo from [email protected]:miaoliujie/MLJRepoAddress.git

3:jingzhe:~ jingzhe$ pod lib create MiaoLib
(创建私有Lib)

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

4:jingzhe:~ jingzhe git add .
jingzhe:MiaoLib jingzhe git remote add origin [email protected]:miaoliujie/MLJGitAddress.git
jingzhe:MiaoLib jingzhe git push --set-upstream origin master
(以上几步将exampledemo 放入[email protected]:miaoliujie/MLJGitAddress.git管理)

5:jingzhe:MiaoLib jingzhe git push --tags
(打tag)

2018-06-09 cocopods私仓创建_第1张图片
添加文件.png
2018-06-09 cocopods私仓创建_第2张图片
添加第三方.png

6:jingzhe:MiaoLib jingzhe$ pod lib lint MiaoLib.podspec
(验证lib)

jingzhe:MiaoLib jingzhe$ pod lib lint MiaoLib.podspec --allow-warnings

(验证lib)

7:jingzhe:MiaoLib jingzhe git tag -m "podSpec Demo" 0.1.1
jingzhe:MiaoLib jingzhe pod repo push MiaoRepo MiaoLib.podspec

(.podspec验证通过 将MiaoRepo放入 [email protected]:miaoliujie/MLJRepoAddress.git 此时开始被git管理)

10:jingzhe:MiaoLib jingzhe
jingzhe:MiaoLib jingzhe$

2018-06-09 cocopods私仓创建_第3张图片
2.png

1.png
2018-06-09 cocopods私仓创建_第4张图片
正确导入方式1.png

2018-06-09 cocopods私仓创建_第5张图片
正确导入方式2.png

2018-06-09 cocopods私仓创建_第6张图片
错误导入方式1.png

2018-06-09 cocopods私仓创建_第7张图片
错误方式2.png

通过正确的导入和错误的导入方式可以看出 lib的git地址 和lib.podspec的git地址是不一样的
lib的git地址.png

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

lib.podspec的git地址.png

(这个里面可以放多个lib.podspec 即一个source对应多个lib
2018-06-09 cocopods私仓创建_第8张图片
两个source对应多个pod 不用每个都加=>git.png

2018-06-09 cocopods私仓创建_第9张图片
在pod根目录的位置.png
2018-06-09 cocopods私仓创建_第10张图片
在pod根目录的位置2.png
2018-06-09 cocopods私仓创建_第11张图片
repo和lib共用一个git地址出现的情况.png

用私仓踩坑

2018-06-09 cocopods私仓创建_第12张图片
只有一个私有source管全局 没官方的 失败1.png
2018-06-09 cocopods私仓创建_第13张图片
lib 正常1.png
2018-06-09 cocopods私仓创建_第14张图片
除了私有source 还加官方source 正常2.png
2018-06-09 cocopods私仓创建_第15张图片
除了私有source 还加官方source 正常2.png
2018-06-09 cocopods私仓创建_第16张图片
只有私有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插件 打出来的包
2018-06-09 cocopods私仓创建_第17张图片

你可能感兴趣的:(2018-06-09 cocopods私仓创建)