Я пытаюсь установить 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)





Вообще говоря, необходимо использовать совместимые версии 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)
@btrballin Я думаю, что вызов pod install --repo-update, как указано в ответе, приведет к тому же результату, верно?
Просто чтобы добавить примечание, если
pod installне работает в этих более новых версиях, вам нужно будет выполнить следующую командуpod repo update, чтобы обновить репозиторий cocoapods, чтобы вы могли получить доступ к более новым версиям