在实现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控制台中显示的唯一信息。有人知道如何调试或解决此问题吗?
编辑:我不确定引起此错误的原因是什么。我开始了一个新项目,建立了一个新的认知池和后端服务,并移植了该项目中的代码,从而使一切正常运行。该错误可能是由于错误地设置了用户池,或者是由于不允许未经授权访问注册功能(不确定我是否将其设置为“否”)。
答案 0 :(得分:0)
如果您在那儿用完了其余的开关盒,您将能够看到从服务返回的错误到底是什么。