我正在尝试在使用 AWSMobileClient 的 iOS 应用程序中使用 Cognito 提供的谷歌联合登录功能。我有最新的放大 (4.11.0) 和 AWS 工具包。
我的 pod 文件中有以下内容:
pod 'AWSAPIGateway'
pod 'AWSMobileClient'
pod 'AWSAuthUI'
pod 'AWSUserPoolsSignIn'
pod 'GoogleSignIn'
pod 'AWSGoogleSignIn'
我使用标准的AWSMobileClient
初始化调用然后showSignIn
方法来显示登录屏幕,但出现以下异常:
'NSUnknownKeyException', reason: '[<GIDSignIn 0x600003f19e00> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key uiDelegate.'
我的awsconfiguration
文件有以下条目:
"GoogleSignIn": {
"Permissions": "email,profile,openid",
"ClientId-WebApp": "XXXXXXXXX-YYYYYYYYYYYYYY.apps.googleusercontent.com",
"ClientId-iOS": "ZZZZZZZZZZZ-VVVVVVVVVVVVV.apps.googleusercontent.com"
}
这是在我创建身份验证后端时由放大生成的(以及用户池、身份等的其他条目)。我还在谷歌开发者网站上设置了必要的项目和凭据。
使用 Cognito 托管的 UI(浏览器 URL),我可以毫无问题地使用谷歌登录,只是不使用 iOS 应用程序。
如果我删除 ClientId-iOS 条目,则不再发生异常,但登录屏幕没有 google 按钮。