iOS开发 如何优雅的修改pod第三方源码

iOS开发 如何优雅的修改pod第三方源码,第1张

依MJRfresh为例,3.1.5版本。建议我们在开发过程中 Pod第三方库时候,都指定第三方库的版本号,这样在第三方库升级的时候,我们的代码比较直观。(一般都是使用master分支)

如果不知道Cocoapods中引入库的版本号,请参考查看Cocoapods中引入库的版本号

1, cd 到项目目录下

2,cat Pdfile.lock 

查看引入库的版本号

Cocoapods 指定版本号的方式

pod ‘AFNetworking’ //不指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘> 2.0’ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>= 2.0’ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘< 2.0’ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<= 2.0’ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~> 0.1.2’ //使用大于等于0.1.2但小于0.2的版本
pod ‘AFNetworking’, ‘~>0.1’ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0’ //高于0的版本,写这个限制与什么都不写是同样效果,皆表示使用最新版本

进入今天的主题

一 ,Fork MJResresh

二,克隆一份Fork的代码到本地

此处推荐使用SSH,因为后面push代码的时候,https国内有限制,这里使用了SSH克隆,推送也要进行SSH验证,关于github配置SSH的文章,请参考 Github SSH配置

准备工作

还是回到开始说的,我们在使用第三方库的时候,最好指定某一个版本号,

1,指定分支,作者使用的是master分支,这里不用修改。

2,指定tag版本,作者使用的是3.5.1版本,所以这里指定了3.5.0。

做完准备工作,我们开始克隆代码到本地,

三,在本地修改代码,提交,推送。

如果在推送代码的时候,遇到了问题,请参考二和  Github SSH配置

四,工程Podfile文件中的修改

以前的

修改后的

 外部源的依赖项可能不指定版本需求,也就是MJRfresh不能指定版本号了。这里告诉我们,Fork的代码是不能指定依赖源码版本号的,是默认依赖最新源码的。

然后执行 ,

pod install 

补充:

1,聪明的你又发现了MJRefresh的bug的时候,我们想继续修改MJRefresh源码,那么怎么办呢?

克隆下来我们Fork的代码,修改,提交推送,然后cd到工程目录,执行 pod install。

2,过来一段时间MJRefresh发现了这个bug,它自己修复并且发布了新版本;又或者它发布了新版本,我们想使用新功能,那么我们怎么办呢?

github 切换tag到新版本,克隆代码到本地,对比我们之前修复的代码,跑起来看是否有冲突,有冲突解决冲突错误,提交推送,然后cd到工程目录,执行 pod install。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/990278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存