iOS基于CocoaPods的私有库集成实现

废话少说直接开始CocoaPods私有库总共需要三步。

一:建私有库索引库

二:上传自己的轮子

三:把轮子去私有库那里“备案”一下

1.登录gaythub 2.建立一个仓库命名为xxxRepo image.png 点击Create repository建remote库,建完记得别忘了这段代码

image.png

3.本地进入默认索引库路径,~/.cocoapods/repos

image.png 可以看到可能在平时使用中已经有很多索引库了 image.png 我们也在当前目录下建一个,我这就命名为

zccPriRepo
复制代码

然后打terminal,cd到zccPriRepo/依次输入下面几行命令,初始化git仓库,且连接到git上建的zccPriRepo库 额,这里有个问题在输入正确密码后终端会报错 image.png 这是因为在去年2021年8月13日起就要求通过token认证登录了, 如何申请token可以百度搜一下,或者我后期再整理下发个文章。 image.png 总之我们现在拿到了token,那么重复git push -u origin master在红框中复制token就可以成功push上去代码了。

好了,我们的第一步完成了。

假设我现在想创建一个私有库用来放自己开发的UI那么我得输入pod lib create ZCCUIComponent 然后依次会出现这几个问题

What platform do you want to use?? [ iOS / macOS ]
选择系统平台
What language do you want to use?? [ Swift / ObjC ]
选择语言
Would you like to include a demo application with your library? [ Yes / No ]
需不需要demo工程(我选了YES)
Which testing frameworks will you use? [ Specta / Kiwi / None ]
需要哪个测试框架?(这个没需要我选了None)
Would you like to do view based testing? [ Yes / No ]
你是否需要基础视图测试(这个不太懂选了NO)
What is your class prefix?
你需要什么类前缀
复制代码

选完之后xcode会自动打开当前创建的工程,当前目录下也有对应工程文件。 如下图 image.png 接着进入

image.png 用自己的文件替换掉Classes文件夹下的ReplaceMe.m文件。

配置.podspec文件

image.png 根据自己的需求可以修改下对应配置,二进制和头文在大型项目开发还挺有用的,这样一个pods库就配置完了,我们可以进入Example文件夹Pod install 看是否能成功引用和成功使用自己的文件

image.png 然后可以通过pod lib lint 验证是这个库否正确,但是应该会报图中的warning,因为我们并没有给这个库建远端库。

image.png 根据它的提示我们 再加上--allow-warnings试试

image.png OK!过了。 现在我们可以在自己的远端私有库创建一个项目,我这边因为公司服务器不能乱建,就暂时也用github整个组件的远端库。 创建流程和上面创建索引库一样,如果报如下问题,就再多push几次

image.png 最后需要加个tag

git tag "0.1.0"
git push origin --tag
复制代码

将自己组件版本之类信息去组件库库备案下

pod repo push 本地索引库名 第二步中创建的索引文件名 --verbose --allow-warnings --use-libraries
复制代码

这里可能会碰到一个问题,就是一直报443的错

[!] /usr/local/bin/git -C /Users/zcc/.cocoapods/repos/zccPriRepo pull

fatal: unable to access 'https://github.com/zcc2o/zccPriRepo.git/': Failed to connect to github.com port 443: Operation timed out

复制代码

但是进去自己的本地组件库看,组件版本是已经更新了

image.png 那其实就是git连不上的问题,只能cd 到组件库文件夹路径

~/.cocoapods/repos/zccPriRepo
复制代码

然后git push 多试几次,还可以架架梯子什么的,我试了四次才成功。。真不容易。。

image.png 这里想说的是pod repo push 本地索引库名 第二步中创建的索引文件名 --verbose --allow-warnings --use-libraries这个命令如果有报错也别慌张,分步解决即可。 组件库终于整完了,最后使用方法就和普通的cocoapods库差不多,不过要指定下搜索路径 Podfile中这么配置

image.png 然后去项目路径下pod install,可能还是会碰到git连不上的问题,架梯子解决了。

image.png 成功后xcode文件目录如图

image.png

Guess you like

Origin juejin.im/post/7059679100423634975