该操作无法完成。 (AWSMobileClient.AWSMobileClientError错误20。)

时间:2019-01-13 01:02:11

标签: ios swift xcode amazon-web-services amazon-cognito

在实现AWSMobileClient signUp函数时,我当前遇到此错误。除了更改属性以满足我的用户池属性要求之外,我没有真正更改过AWS页面上描述如何实现的代码示例。

首先在viewDidLoad中,我像这样初始化移动客户端:

AWSMobileClient.sharedInstance().initialize { (userState, error) in
        if let userState = userState {
            print("UserState: \(userState.rawValue)")
        } else if let error = error {
            print("error: \(error.localizedDescription)")
        }
    }

然后我具有注册功能。代码如下所示(我将其封装在一个名为signUpUser的函数中):

AWSMobileClient.sharedInstance().signUp(username: userEmail,
                                    password: userPass,
                                    userAttributes: ["email":userEmail, "given_name":userFirstName, "family_name": userLastName, "custom:school":userSchool]) { (signUpResult, error) in
if let signUpResult = signUpResult {
    switch(signUpResult.signUpConfirmationState) {
    case .confirmed:
        print("User is signed up and confirmed.")
    case .unconfirmed:
        print("User is not confirmed and needs verification via \(signUpResult.codeDeliveryDetails!.deliveryMedium) sent at \(signUpResult.codeDeliveryDetails!.destination!)")
    case .unknown:
        print("Unexpected case")
    }
} else if let error = error {
    if let error = error as? AWSMobileClientError {
        switch(error) {
        case .usernameExists(let message):
            print(message)
        default:
            break
        }
    }
    print("\(error.localizedDescription)")
}

当我在iPhone上运行该应用程序时,单击“注册按钮”时会调用此功能。在调试窗口中,出现以下错误:

The operation couldn’t be completed. (AWSMobileClient.AWSMobileClientError error 20.)

这是Xcode控制台中显示的唯一信息。有人知道如何调试或解决此问题吗?

编辑:我不确定引起此错误的原因是什么。我开始了一个新项目,建立了一个新的认知池和后端服务,并移植了该项目中的代码,从而使一切正常运行。该错误可能是由于错误地设置了用户池,或者是由于不允许未经授权访问注册功能(不确定我是否将其设置为“否”)。

1 个答案:

答案 0 :(得分:0)

如果您在那儿用完了其余的开关盒,您将能够看到从服务返回的错误到底是什么。

参考:https://stackoverflow.com/a/59521025/2464632