0

認証に AWS iOS SDK Cognito サービスを使用しています。私のシミュレータにはネットワーク接続がありません。アプリを実行するときにエラーを処理したいのですが、問題は AWSCognitoCredentialsProvider がエラーを返さないことです。ログに次のメッセージが表示されるので、エラーがあることがわかります。

ID の取得に失敗しました。エラーは [Error Domain=NSURLErrorDomain Code=-1005 "The operation could not be completed. (NSURLErrorDomain error -1005.)" です。

開始前にインターネット接続を確認するための回避策をコーディングできることはわかっていますが、たとえば、間違った AWSDynamoDBModel を使用して DynamoDB の行を削除しようとした場合など、SDK の他の領域でも同じ問題が発生しました。ログにエラーが表示されますが、task.error は nil として返されます。

エラーをチェックする必要がある別の領域はありますか?

Xcode 6 と AWS iOS SDK 2.0.12 を使用しています。問題を再現する唯一の方法は、AWS cognate をプロジェクトに追加し、ネットワークに接続していないときにアプリを実行することです。エラーが表示されるはずのスニペットを次に示しますが、エラーが返されません (task.error を探します)。 -(void)completeLogin:(NSDictionary *)logins { BFTask *task; if (self.provider == nil) { task = [self initializeClients:logins]; } else { NSMutableDictionary *merge = [NSMutableDictionary dictionaryWithDictionary:self.provider.logins]; [merge addEntriesFromDictionary:logins]; self.provider.logins = merge; // Force a refresh of credentials to see if we need to merge task = [self.provider refresh]; } [task continueWithBlock:^id(BFTask *task) { if (self.callback != nil) { self.callback(task.error); //This is always nil NSLog(@"callback set to nil in in completeLogin"); self.callback = nil; } return nil; }]; }

4

0 に答える 0