AWSAppSync и AWSMobileClient несовместимы - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь установить AWSAppSync и AWSMobileClient в мое приложение ios.Когда я хочу использовать pod install.

Я пытался использовать только AWSAppSync или AWSMobileClient.Они хороши, когда используются отдельно, но не работают в одном и том же файле pod.Я также пробовал разные версии AWSAppSync и AWSCore.AWSCore 2.7.0 или 2.8.0 не имеет значения в этом случае.Различные версии AWSAppSync возвращают одну и ту же ошибку.

#installed 
#pod 'AWSCore', '~> 2.8.0'

pod 'AWSAppSync', '~> 2.6.24'

pod 'AWSMobileClient', '~> 2.8.0'
pod 'AWSAuthUI', '~> 2.8.0'
pod 'AWSUserPoolsSignIn', '~> 2.8.0'

Вот что возвращается:

[!] CocoaPods could not find compatible versions for pod "AWSCore":
In snapshot (Podfile.lock):
  AWSCore (= 2.7.4, ~> 2.7.0)

In Podfile:
  AWSAppSync (~> 2.6.24) was resolved to 2.6.25, which depends on
  AWSCore (~> 2.7.0)

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

1 Ответ

0 голосов
/ 28 декабря 2018

Вообще говоря, необходимо использовать совместимые версии AWSAppSync и AWSiOSSDK (которые предоставляют AWSCore, AWSMobileClient и т. Д.).Лучший способ сделать это - разрешить разрешенные зависимости из той версии AWSAppSync, которую вы хотите использовать.Например, если вы используете AppSync 2.6.24, то вы должны использовать ~> 2.6.0 версии зависимых библиотек.Так как похоже, что вы хотите использовать AWSMobileClient для аутентификации, вам нужно обновить AWSAppSync до более новой версии.

По-прежнему возникают проблемы с использованием последней версии AWSAppSync (2.8.0)?Я успешно использовал это с последней версией AWSMobileClient (2.8.1).И просто чтобы быть уверенным, вы выпускаете pod repo update до pod install или вызываете pod install --repo-update, чтобы убедиться, что репозиторий Spec обновлен?Вот конфигурация, которую я успешно использую в приложении, которое использует AWSAppSync:

target 'PostsApp' do
  use_frameworks!
  pod 'AWSAppSync', '~> 2.8.0'
  pod 'AWSMobileClient', '~> 2.8.0'
  pod 'AWSAuthUI', '~> 2.8.0'
  pod 'AWSUserPoolsSignIn', '~> 2.8.0'
end

, которое разрешает следующее (взято из Podfile.lock):

PODS:
  - AWSAppSync (2.8.0):
    - AWSCore (~> 2.8.0)
    - ReachabilitySwift (~> 4.3.0)
    - SQLite.swift (= 0.11.5)
  - AWSAuthCore (2.8.1):
    - AWSCore (= 2.8.1)
  - AWSAuthUI (2.8.1):
    - AWSAuthCore (= 2.8.1)
    - AWSCore (= 2.8.1)
  - AWSCognitoIdentityProvider (2.8.1):
    - AWSCognitoIdentityProviderASF (= 1.0.1)
    - AWSCore (= 2.8.1)
  - AWSCognitoIdentityProviderASF (1.0.1)
  - AWSCore (2.8.1)
  - AWSMobileClient (2.8.1):
    - AWSAuthCore (= 2.8.1)
    - AWSCognitoIdentityProvider (= 2.8.1)
  - AWSUserPoolsSignIn (2.8.1):
    - AWSAuthCore (= 2.8.1)
    - AWSCognitoIdentityProvider (= 2.8.1)
  - ReachabilitySwift (4.3.0)
  - SQLite.swift (0.11.5):
    - SQLite.swift/standard (= 0.11.5)
  - SQLite.swift/standard (0.11.5)
...