如何为分叉和修改的公共 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 添加预期版本?的主要内容,如果未能解决你的问题,请参考以下文章

修改后的 Pod 未编译

如何为 iOS 表单使用 Eureka pod 的位置?

leiningen - 如何为本地 jar 添加依赖项?

我可以使分叉的 github 存储库从原始版本中保持最新吗? [复制]

如何为 VS Express 版本编写 SourceControl 插件 [关闭]

如何为 Gemfile 指定最低捆绑器版本?