2018-06-09 cocopods私仓创建

参考文章: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地址 和lib.podspec的git地址是不一样的
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插件 打出来的包
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容