2017-01-04 7 views
1

私はaws cognitoのユーザープールを試していて、ユーザーサインアッププロセスでスタックしました。私はすでにユーザープールを構成してサインアップメソッドを実行していますが、awsサービスから返されたエラーコードを取得する方法を見つけることができます。 、そして、Swift-iOSでAWS Cognitoのユーザー認証エラーをどのように捕まえるのですか?

let poolConfig = AWSCognitoIdentityUserPoolConfiguration(
       clientId: userPool_clientId, 
       clientSecret: userPool_secret, 
       poolId: userPool_id) 

AWSCognitoIdentityUserPool.registerCognitoIdentityUserPool(with: poolConfig, 
                  forKey: userPoll_App) 

userPool = AWSCognitoIdentityUserPool(forKey: userPoll_App) 

私のビューコントローラに私がボタンを持ってこれに@IBActionを聖霊降臨祭:ここに私のユーザー・プールのインスタンス化、それが正常に動作しているコードの後

if userPool != nil { 

     let attName = AWSCognitoIdentityUserAttributeType()! 
     attName.name = "name" 
     attName.value = userNome 

     let attLast = AWSCognitoIdentityUserAttributeType()! 
     attLast.name = "family name" 
     attLast.value = userSobrenome 

     let attEmail = AWSCognitoIdentityUserAttributeType()! 
     attEmail.name = "email" 
     attEmail.value = userEmail 

     var result:Bool = false 
     userPool!.signUp(userNome, 
         password: userPwd, 
         userAttributes: [attName, attLast, attEmail], 
         validationData: nil).continue({(task:AWSTask!) in 

          if (task.error != nil) { 
           print (task.error!) 
           result = false 
          } else { 
           result = true 
          } 

          return nil 

         }) 

、私は結果をテストそれが真か偽かを確認し、適切な処置をとってください。しかし...

このプロセスではさまざまなエラーが発生しており、開発時にこのエラーを評価する必要があります。たとえば、私が最初に遭遇したエラーは、AWS領域を誤って構成したためです。 OK!ゲームスタート!!しかし、2番目のエラーは、ユーザーから通知されたパスワードがプールの検証に合格しなかったためです。このケースでは、検証プロセスのためにエラーが発生したことを知り、ユーザーに適切な処置をとるよう通知します。私はiOSアプリでこのロジックを持つことを望んでいません。 task.errorオブジェクトは、ローカライズされたdescriptionプロパティを提供するだけであり、あまり役に立ちません。ところで

:私はあなたがthis enumの値に比較できるコードが含まれますスウィフト3.2、iOSの10.2、AWS-IOS-sdk2とXcode 8

答えて

0

task.error.codeを使用しています。 SignUpによって返される特定のエラーコードについては、hereを参照してください。

関連する問題