2回目の呼び出し時に NSURLConnection がハングアップする

NSURLConnection が 2 回目の呼び出しでハングする可能性がある理由は次のとおりです。

  1. 前回の呼び出し時に接続が完了していなかったり終了していなかったときに2回目の呼び出しを行った場合、2回目の呼び出しは失敗します。2回目の呼び出しが可能かどうかは、接続の状態を確認することで判別できます。
  2. キャッシュ問題:初回呼び出し時に NSURLRequest のキャッシュポリシーが使用され、2 回目の呼び出し時にキャッシュされたデータが有効な場合、2 回目の呼び出しはキャッシュから直接データを取得しようとし、接続がハングする可能性があります。
  3. ネットワーク問題 – 最初の呼び出し時にネットワーク障害またはタイムアウトが発生した場合、2 回目の呼び出しにネットワーク問題の影響が及び、接続がハングしてしまう可能性があります。ネットワーク接続を確認し、タイムアウト設定を調整することで解決できます。
  4. 同時実行の問題を回避するには、GCD や NSOperationQueue などを使って、同時に接続の作成や切断を行うことを避けてください。

具体的な原因は、具体的な利用シーンとコードのロジックによって異なるため、それに応じたデバッグと処理を行う必要があります。

bannerAds