开始之前先明确
两个文件名:1.BaseLibiOS(私有库项目名称)
2.BaseLibSpec(私有库索引名称)
两个gitLab的地址,1.(https://git.xxxx.com/BaseLibiOS.git)私有库git仓库地址
2.(https://git.xxxx.com/BaseLibSpec.git)私有库索引库git地址
1.首先创建私有库索引库
1> 在gitlab上创建一个新的库,这个库用来保存私有库的podspec文件,所以我们一般起名字最好是 xxxSpec用以区分这个库的作用。例如:BaseLibSpec
2> 创建的BaseLibSpec索引库必须有master分支,可以添加一个readme文件
3> 创建本地所有库,然后把刚才创建的远程所有库关联。
操作命令:pod repo add <本地索引库名称> <远程索引库gitlab地址>
例如:pod repo add BaseLibSpec https://git.xxxx.com/BaseLibSpec.git
2.创建本地私有库
1> 创建本地私有库,创建目录随意放,例如桌面下的iOSLib文件夹下,cd到iOSLib目录下,然后再创建
1. 什么平台?
1. What platform do you want to use? [iOS / macOS]
> iOS
2. 什么语言?
2. What language do you want to use? [Swift / Objc]
> Swift
3. 是否集成Demo为自己的模块库?
3. Would you like to include a demo application with your library?? [Yes / No]
> Yes
4. 是否集成测试框架?
4. Which testing frameworks will you use? [Specta / Kiwi / None]
> None
5. 是否基于View的做测试?
5. Would you like to do view based testing? [Yes / No]
> Yes
6. 工程类前缀?
6. What is your class prefix?
> VZ
4> 将Classes文件夹下面的ReplaceMe.m文件删除掉,替换成你要上传私有库的代码
<1> s.homepage需要设置刚创建的私有代码仓库的地址, 不是私有索引库的地址!!!
<2> s.source 需要设置的是私有代码仓库的源地址(选择使用HTTPS地址)!!!
3.将私有库push到远程仓库
1> 编译通过后,提交组件到私有库git仓库地址 并打tag
git status — 查看当前git存了什么文件
git add . — 将所有文件缓存到待提交文件区域
git commit -m “上传组件” — 提交文件,写上备注
git remote add origin <私有库git仓库地址(https://git.xxxx.com/BaseLibiOS.git)>
git push -u origin master — 将代码推送到远程私有库git仓库的master分支
git tag <版本号(例如git tag 0.1.0)> —这里的版本号必须和podspec里面写的版本号一致)
git push — tags
cd <本地私有库目录下(例如:cd BaseLibiOS)>
pod lib lint —allow–warnings
pod lib lint —sources=”cocoapods库地址,私有库远程地址” —allow–warnings
pod lib lint —sources=”cocoapods库地址,私有库远程地址” –use-libraries —allow–warnings
5.远程校验
1> 进行远程校验,其实和本地校验一样,只需要把lib字段改成spec
pod spec lint —sources=”cocoapods库地址,私有库远程地址” –use-libraries —allow–warnings
例如:pod spec lint —sources=”https://git.XXXX/BaseLibSpec.git,git@gitXXXX/BaseLibiOS.git” –use-libraries –allow–warnings
6.提交索引文件到远程索引库
1> 所有验证通过之后,要将spec文件推送到最开始创建的私有库索引库当中
pod repo push <本地索引库名称> <索引文件名> —verbose –allow–warnings
例如:pod repo push BaseLibSpec BaseLibiOS.podspec —verbose –allow–warnings
2> 推送去之后,在本地索引库中如下图
3> 验证私有库
7. 其他项目使用私有库
项目中导入私有库之后,报错如下:
Cannot find ‘XXX’ in scope
解决:
Swift的私有库文件,类、属性和方法前面用open修饰,init方法前面用public修饰,然后重新上传私有库,打新tag标签,BaseLibiOS.podspec文件的tag也要修改,请参考目录2-6和3、4、5、6,并把tag推送到远端
参考:iOS组件化搭建私有库(cocoapods,gitlab ) – 知乎
原文地址:https://blog.csdn.net/zhuxb523/article/details/122365856
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_27988.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!