1

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

 2 years ago
source link: https://juejin.cn/post/7059679100423634975
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

2022年02月01日 10:29 ·  阅读 3156

废话少说直接开始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

安装掘金浏览器插件
多内容聚合浏览、多引擎快捷搜索、多工具便捷提效、多模式随心畅享,你想要的,这里都有!
前往安装

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK