この問題の適切な解決策が見つかりません。誰かがこのバグをクリアするのを手伝ってくれると思います。
概要:
3G 接続を使用してデバイスでアプリをテストすると、コンソールにこのバグ"purgeIdleCellConnections: found one to purge conn = 0x1ddde360"
が複数回表示されるまでに、別の番号で発生します(0x1ddde360 or 0x21b98a60 or....)
。時々ハングアップし、アプリケーションがクラッシュして停止します。アプリを開けません。削除して再度ビルドする必要があります。Wi-Fi を使用すると問題なく動作します。まったく問題ありません。
実際の結果: アプリで Web サービス (WSDL) を使用しています。アプリケーション自体を起動しているときに、複数の Web サービスを呼び出しています。このアプリは既に App Store (Promayarnlite) にありますが、そのファイルは IOS 5.1 SDK を使用してビルドされているため、正常に動作しました。Xcode を 4.5.1 および IOS 6 SDK に更新したので、App Store でアプリを更新したいと考えています。私はこの部分に苦労しています。
編集: A: 内部的に NSURLConnection は接続キャッシュを維持します。各キャッシュ エントリは、ホストへの永続的な HTTP 接続のセットを表します。新しいリクエストが到着すると、キャッシュ内のエントリでキューに入れられます。これは既存のエントリである場合もあれば、新しいエントリである場合もあり、さまざまな複雑な要因 (保護スペース、認証ステータス [認証方法の場合-はい] 、私はあなたを見ています、NTLM!--ステートフルです]、パイプライン、さまざまなキャッシュ制限など)。キャッシュ エントリに関連付けられた接続は、すべての要求の実行を終了すると、キャッシュ エントリのキューでさらに作業を探します。何も見つからない場合、接続はアイドル状態になります。接続が長時間アイドル状態の場合、
このキャッシュの実装は iOS 6 で変更されました。iOS 6 より前は、アイドル状態のキャッシュ エントリをパージするための単一のメカニズムがあり、Mac OS X と iOS では根本的に異なるタイムアウト (30 秒と 6 秒、iOS の値は古いバージョンの iOS では 3 秒)。iOS 6 では、アイドル状態のキャッシュ エントリを削除するメカニズムが 2 つになりました。1 つは WWAN 経由で実行されている接続に適用され、もう 1 つは他のすべての接続に適用されます。WWAN タイムアウトは従来の値 (3 秒) に戻り、他のすべての接続のタイムアウトは古い Mac OS X のデフォルト (30 秒) に引き上げられました。
表示されているログ メッセージは、WWAN 接続が削除されたときに生成されます。このログ メッセージは iOS 5.x には存在しなかったため、テストで表示されない理由が説明されています。ただし、基本的なメカニズムは、何らかの形で、iOS のすべてのバージョンに存在しています。
このメッセージは、原因というより症状である可能性が高くなります。具体的には、メッセージはアイドル接続にのみ適用されます。これは、何の役にも立たない永続的な HTTP 接続をクリーンアップする NSURLConnection にすぎません。ネットワークに問題がある場合は、接続がアイドル状態になっている理由を調査する必要があります。