【问题标题】:The operation couldn’t be completed. (AWSMobileClient.AWSMobileClientError error 20.)操作无法完成。 (AWSMobileClient.AWSMobileClientError 错误 20。)
【发布时间】:2019-06-07 11:35:05
【问题描述】:

我目前在实施 AWSMobileClient 注册功能时遇到此错误。除了更改属性以适应我的用户池属性要求之外,我还没有真正更改 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 控制台中显示的唯一信息。有谁知道如何调试或修复此问题?

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

【问题讨论】:

  • 您使用的是什么版本的 SDK?更新到最新版本,然后重试。参考:github.com/aws-amplify/aws-sdk-ios/issues/1147
  • 感谢您的参考。原来我在 2.8.2,所以我更新到 2.8.3(最新的)。但是,我仍然遇到相同的问题,即 signUp 函数进入错误 == 错误块,导致相同的 AWSMobileClientError。
  • 嘿@Campbell 我遇到了同样的问题,你解决了吗?

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


【解决方案1】:

如果您在那里用尽了开关盒的其余部分,您将能够看到从服务返回的确切错误。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 2017-05-07
    • 2015-06-03
    • 2021-03-24
    • 2020-07-29
    • 2021-12-16
    • 2015-12-27
    • 1970-01-01
    相关资源
    最近更新 更多