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

0

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

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

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

よろしくお願いします。

demandé il y a 6 ans268 vues
4 réponses
0
Réponse acceptée

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

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

semnil
répondu il y a 6 ans
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
répondu il y a 6 ans
0

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

よろしくお願いします。

répondu il y a 6 ans
0

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

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

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

よろしくお願いします。

répondu il y a 6 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions