如何为分叉和修改的公共 pod 添加预期版本?
Posted
技术标签:
【中文标题】如何为分叉和修改的公共 pod 添加预期版本?【英文标题】:How to add expected version for a forked and modified public pod? 【发布时间】:2021-12-30 00:04:21 【问题描述】:我需要使用亚马逊的 Amplify ios pod,但由于 pod 中有某些应用程序扩展不安全的代码,如果我想发布我的应用程序,我需要修改该代码。
我所做的是:
-
将https://github.com/aws-amplify/amplify-ios 分叉到我自己的仓库中
签出一个新分支,更改我的代码,然后提交并将我的更改推送到远程
在我的实际应用程序 podfile 中,将要放大的引用从
pod 'Amplify'
更改为 pod 'Amplify', :git => 'https://github.com/[my organization]/amplify-ios.git', :commit => '[commit identifier of the changed code]'
pod install
在我的本地应用程序仓库中
接下来会发生以下投诉:
[!] CocoaPods could not find compatible versions for pod "Amplify":
In Podfile:
Amplify (from `https://github.com/[my org repo]/amplify-ios.git`, commit `[commit identifier of changed code commit]`)
AmplifyPlugins/AWSCognitoAuthPlugin was resolved to 1.13.4, which depends on
AWSPluginsCore (= 1.13.4) was resolved to 1.13.4, which depends on
Amplify (= 1.13.4)
当我查看分叉存储库时,原始存储库中的任何版本都没有被复制。为我的分叉 pod 提供版本以避免发生依赖投诉的正确方法是什么?
【问题讨论】:
【参考方案1】:从错误消息来看,您的 Podfile 似乎还依赖于 AmplifyPluginsCore
,这依赖于原始的 Amplify
版本,该版本不再可用,因为分叉的 pod 不包含该版本。
【讨论】:
有什么方法可以模仿我的分叉 pod 中的版本控制吗?我在 fork 中修改的版本是 1.16.0,但似乎都没有翻译过来。 您可能还需要更改 AmplifyPlugins 的引用,因为这需要 Amplify 1.13.4。或者更新 Podfile 以请求 AmplifyPlugins 版本 1.6.0。 我让 AmplifyPlugins 使用 1.16.0 版本,得到以下输出:AmplifyPlugins/AWSCognitoAuthPlugin (= 1.16.0) was resolved to 1.16.0, which depends on AWSPluginsCore (= 1.16.0) was resolved to 1.16.0, which depends on Amplify (= 1.16.0)
,表明我的分叉 repo 完全缺少版本信息以上是关于如何为分叉和修改的公共 pod 添加预期版本?的主要内容,如果未能解决你的问题,请参考以下文章
我可以使分叉的 github 存储库从原始版本中保持最新吗? [复制]