我正在尝试将AWSAppSync
和AWSMobileClient
安装到我的ios应用中。
当我想使用Pod安装时。
我尝试仅使用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)
答案 0 :(得分:1)
通常来说,必须使用兼容版本的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)