本文介绍: 开始之前先明确两个文件名:1.BaseLibiOS(私有项目名称)2.BaseLibSpec私有索引名称两个gitLab地址,1.(https://git.xxxx.com/BaseLibiOS.git私有git仓库地址 2.(https://git.xxxx.com/BaseLibSpec.git)私有库索引git地址1.首先创建私有库索引库1>在gitlab创建

开始之前先明确
两个文件名: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 <本地索引库名称&gt; <远程索引库gitlab地址>
例如pod repo add BaseLibSpec https://git.xxxx.com/BaseLibSpec.git

2.创建本地私有库

1> 创建本地私有库,创建目录随意放,例如桌面下的iOSLib文件夹下,cd到iOSLib目录下,然后再创建

cd <你要创建的文件夹目录下>

pod lib create 私有库项目名称
例如pod lib create BaseLibiOS

2> 执行完上面的命令之后,会显示这些文件让你进行配置

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

3> 配置完成后会自动打开一个xcode工程,层级如下图

4> 将Classes文件夹下面的ReplaceMe.m文件删除掉,替换成你要上传私有库的代码

5> 然后更新一下这个工程pod

1 cd到Example文件
2.执行 pod install

 6> 修改podspec文件

例如:BaseLibiOS项目下的BaseLibiOS.podspec 文件

ps这里要注意两点!!

<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

4.本地校验

cd <本地私有库目录下(例如:cd BaseLibiOS)>
pod lib lintallowwarnings

组件依赖第三方库,需要第三方库索引地址写上

pod lib lintsources=”cocoapods库地址,私有库远程地址” —allowwarnings

组件依赖的第三方库又依赖了其他的库,需要命令如下

pod lib lintsources=”cocoapods库地址,私有库远程地址” –use-librariesallowwarnings

5.远程校验

1> 进行远程校验,其实和本地校验一样,只需要把lib字段改成spec
 

pod spec lintsources=”cocoapods库地址,私有库远程地址” –use-librariesallowwarnings

例如:pod spec lintsources=”https://git.XXXX/BaseLibSpec.git,git@gitXXXX/BaseLibiOS.git” –use-libraries –allowwarnings

6.提交索引文件到远程索引库

1> 所有验证通过之后,要将spec文件推送到最开始创建的私有库索引库当中

cd 到私有库项目目录(例如:cd BaseLibiOS)

pod repo push <本地索引库名称> <索引文件名> —verbose –allowwarnings

例如:pod repo push BaseLibSpec BaseLibiOS.podspecverbose –allowwarnings

<本地索引库名称>在/Users/XXX/.cocoapods/repos下的私有库索引项目名称

<索引文件名>就是以podspec结尾的,注意不要弄错

2> 推送去之后,在本地索引库中如下图​​​​​​​​​​​​​​

 

3> 验证私有库

pod repo update — 先更新一下pod库,不然找不到你刚上传的私有库
pod search 私有库

7. 其他项目使用私有库

sourcehttps://git.XXXX/BaseLibSpec.git’
pod ‘BaseLibiOS’

问题解决

项目中导入私有库之后,报错如下
Cannot find ‘XXX’ in scope
解决
Swift的私有库文件,类、属性方法前面open修饰init方法前面public修饰然后重新上传私有库,打新tag标签,BaseLibiOS.podspec文件的tag也要修改,请参考目录2-6和3、4、5、6,并把tag推送远端

参考iOS组件化搭建私有库(cocoapods,gitlab ) – 知乎

参考iOS私有库创建和版本更新 – 简书 

原文地址:https://blog.csdn.net/zhuxb523/article/details/122365856

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_27988.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注