iOS で AmazonServiceException を取得する方法が知りたい

0

Cognito を使っていますが、該当するカテゴリがなかったため、こちらに質問させていただきます。

Cognito を使ったアプリケーションを開発しております。
Cognito については、サンプルコードを参考に実装をしています。
AmazonServiceException について質問があります。
android では、AmazonServiceException 発生時に getStatusCode() で HTTP ステータスコードを取得することができますが、iOS でも同様に AmazonServiceException 発生時に HTTP ステータスコードを取得する方法を教えていただけますでしょうか。

サンプルコードにステータスコードを取得する方法がなかったのと、ドキュメントにも記載が見当たりませんでしたので、ご存知の方がいらっしゃいましたら教えていただけると助かります。

よろしくお願いします。

質問済み 6年前279ビュー
4回答
0
承認された回答

HTTP ステータスコードでエラー判別をするという部分に疑問を感じています。エラー時の処理を既に用意されている機能の中で実現できないのでしょうか。

どうしても HTTP ステータスコードを取得する必要があれば、NSHTTPURLResponse のオブジェクトを参照するために、SDK のプライベートメソッドを使用する、プロジェクトにソースコードを取り込んで変更を加えて使用する、低レベルの実装を自前で行う (もはや SDK を使用しないに等しいかもしれません) などの方法が考えられます。

semnil
回答済み 6年前
0

AmazonServiceException に相当するもの、HTTP ステータスコードを簡単に取得する方法は用意されていません。

AWS Mobile SDK for iOS でのエラーハンドリングについては、Android とは根本的に異なることを念頭において開発を行う必要があります。
AmazonServiceException のような包括的な例外をキャッチするのではなく、非同期のメソッドそれぞれでエラー処理を実施する事になります。

AWSTask について、以下に記載がありました。
https://github.com/awsdocs/aws-mobile-developer-guide/blob/5b1207c54f7160d21f598239989b45ec66b37dde/doc_source/how-to-ios-asynchrounous-tasks.rst#using-awstask

semnil
回答済み 6年前
0

ありがとうございました。
お教えいただいた URL を読んでみましたが、HTTP ステータスコードを取得する方法はなさそうでした。
エラー自体の判別は NSError を使って判別しようと思います。
エラー時にステータスコードでエラー判別をしたかったのですが、iOS では無理なのでしょうか。
android のように Exception で取れなくても代替方法があれば教えていただけると助かります。

よろしくお願いします。

回答済み 6年前
0

お返事を書いたのですが、掲載されていないことに気がつきました。
結果として相当遅いお返事になりましたことをお詫びします。

ご回答ありがとうございました。
確かにソースコードに手を入れれば実現できるかもしれませんが、そこまでする必要もないため、設計担当には android と同じことはできない事情を説明して、仕様変更することになりました。

android で取得できるものが、他のプラットフォームで取得できないのは不便ですが、その辺りを仕様で回避することも必要だということがわかりました。

よろしくお願いします。

回答済み 6年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン