需要解决 AWSAppSync 和 AWSMobileClient 的 AWSCore 版本依赖关系

Need to resolve AWSCore version dependency for AWSAppSync and AWSMobileClient

我想安装 AWSAppSync 和 AWSMobileClient,它们都依赖于不同版本的 AWSCore。如何解决 AWSCore 版本依赖项中的冲突,以便我可以同时安装 AWSAppSync 和 AWSMobileClient

我正在尝试安装以下 pods: pod 'AWSAppSync', '~> 2.12.0' pod 'AWSMobileClient', '~> 2.10.0'

但是,AWSAppSync 依赖于 AWSCore ~> 2.9.0,而 AWSMobileClient 依赖于 AWSCore = 2.10.0。因此,根据我安装的任何 AWSCore 版本,我可以安装所需的两个版本之一 pods。我已经 运行 以下内容:

pod install --repo-update

这没用。 我也试过删除主仓库和 运行ning

pod setup

再次,但没有任何运气。

当我 运行 pod install

时,我基本上得到以下错误
[!] CocoaPods could not find compatible versions for pod "AWSCore":
  In snapshot (Podfile.lock):
    AWSCore (= 2.9.10, ~> 2.9.0)

  In Podfile:
    AWSAppSync (~> 2.12.0) was resolved to 2.12.2, which depends on
      AWSCore (~> 2.9.0)

    AWSMobileClient (~> 2.10.0) was resolved to 2.10.0, which depends on
      AWSAuthCore (= 2.10.0) was resolved to 2.10.0, which depends on
        AWSCore (= 2.10.0)

我能够通过在我的 Podfile 中将 AWSAppSync 更新到版本 2.14.0 来解决这个问题。这就是我的 Pods 现在的样子:

  pod 'AWSCore', '~> 2.10.0'
  pod 'AWSAppSync', '~> 2.14.0'
  pod 'AWSMobileClient', '~> 2.10.0'
  pod 'AWSAuthUI', '~> 2.10.0'
  pod 'AWSUserPoolsSignIn', '~> 2.10.0'

我找到了记录在 AWS Amplify docs

如果此更改后问题仍然存在,根据您的系统,您可能需要清除 pods 缓存,在某些情况下,删除您的 pod 文件,重新安装它们,然后进行 pod 更新。

可以在此处找到用于删除、安装和更新 pods 的命令 - https://gist.github.com/mbinna/4202236

如果您使用我推荐的版本管理系统,您必须运行这些命令位于正确的路径

如果您对 pods 的工作方式有任何疑问,请与我们联系 :)