成功登录后Cognito isSignedIn延迟问题

时间:2017-12-16 21:19:10

标签: amazon-web-services aws-cognito aws-sdk-ios aws-ios

在使用AWS Cognito的iOS应用程序中。

didCompleteStepWithError(_ error: Error?)方法中,我遇到了isSignedIn属性的问题,该问题在成功登录后不会立即生效。

当我立即检查:

userPool.currentUser?.isSignedIn // false

但如果我推迟检查:

DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
    print(userPool.currentUser?.isSignedIn) // true
})

1)为什么isSignedIn属性不能立即生效?

2)如果我需要getDetails()来更新UI,如何处理?这是一个问题,因为调用getDetails()isSignedIn仍为false会导致SDK再次启动身份验证过程。

1 个答案:

答案 0 :(得分:0)

我遇到过同样的问题,而我通过的方式是:

登录后,当您具有用户名和密码后,立即在Cognito委托方法:didCompleteStepWithError中,调用此方法:

INDEX

代码将如下所示:

GTIN-13

对我来说,这样做可以使用户状态正确。绝对不理想,但是它为我做了工作。