LoginSignup
0
0

More than 1 year has passed since last update.

NSURLErrorDomain Code=-1017 "cannot parse response"について

Posted at

原因不明のエラー

現在、自分が管理しているiOSアプリでcannnot parse jsonというエラーが出ました。
firebaseの使用が主な原因かと。。
stack overflowやその他のエンジニアのウェブサイトで調べても解決策がでこなくて焦っていました。
調べてみると、Safariなどでもこのようなエラーが起きていたようで、ネットワークレベルが弱いことが原因の一つであるとわかりました。
まだ再現できただけで、問題の解決はしていませんが共有いたします。

再現方法

Xcode Simulatorを使用して再現します。
まずここからAdditional tools for Xcodeをダウンロードします。
dmgの中にHardwareフォルダがあるのでそこを開きます。その中のNetwork Link Condirioner.prePaneを実行します。
すると設定の中に追加されます。macOS Venturaにしてしまったので設定画面が違うのはご了承ください...
スクリーンショット 2022-07-01 19.00.47.png
Manage Profiles...で写真と同じようなネットワークレベルを新しく作成します。
スクリーンショット 2022-07-01 19.06.41.png
オフラインではないが、かなり弱いネットワークにするのが重要です。
これで電波の弱いネットワークの準備ができましたので、Simulation内でネットワーク通信(httpsCallableなど)を実行すると100%ではありませんが再現が可能です。
なぜ100%出ないかは恐らく、通信が完了するまでにタイムアウトしてしまうのが原因かと思われます。

解決案

エラーハンドリングを各所できちんと実装するのが一番手っ取り早いかと思います。
ネットワーク速度を計測するという手も考えましたがさすがに手間がかかりそうですので、今回はエラーハンドリングで対処しようと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0