依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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)