私たちは、もはや無線LANに接続していないときにユーザーが読むかもしれないデータをダウンロードするように設計されたiPadアプリを持っています。ダウンロードすると、何千ものPDFが読み込まれます。時折、私は、次の動作が発生するフェッチのテスト中:私のiPadアプリは最小限になるまでWiFiを殺します
- スタートをPDFファイル
- をダウンロードして、いくつかの時点で、WiFi接続はルータがまだ稼働していると他の人が(私はそれを使用し続けていても低下しますルータから12 ')。
NSURLConnection
のdidFailWithError
はNSURLErrorNotConnectedToInternet
またはNSURLErrorNetworkConnectionLost
とエラーとなり、左上のWi-Fiインジケータが消えます。 - すぐにでも1時間後であれ、アプリを最小限にすると、Wi-Fiインジケータが再び表示されます。
- アプリを復元して、もう一度ダウンロードを開始してください。問題はありません。
あまりにも多くのダウンロードを防止するiOS機能はありますか?これを防ぐために私が呼び出せる方法はありますか?
この問題(http://stackoverflow.com/questions/8121526/wifi-drops-in-ipod-after-a-while-running-my-application)も同様の問題を扱い、UIRequiresPersistentWiFi
フラグを指しています(http://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW12参照)。問題は、アプリが意図的に永続的なWi-Fiを必要としないように設計されていることです。
他の一口のカップル:
- iPad2の上のiOS 5.1を実行しています。 (他の バージョンで起こっているかどうかわかりません)
- 私は、すべての の1つの大きなジップをダウンロードするようにアプリケーションを変更することはできません。製品の要件であり、理にかなっています。
NSURLConnections
はバックグラウンドスレッド から5つのアクティブな接続を同時に生成します。
私はWi-Fi iOSアプリケーションでも動作します。 Wi-Fi接続が失われて狂ってしまいましたが、私たちのアプリは明示的に(あなたの場合とは異なり)永続的なWi-Fiを必要とします。私はiOS 5.1を疑い始めている。例えば、 https://discussions.apple.com/thread/3790965?start=0&tstart=0。古いiOSバージョンで試してみよう。チャンスがあれば、あなたのコードではない問題をデバッグする前に別のバージョンを試すことをお勧めします。私が古いバージョンでテストすることができれば、結果を掲載します。 – chr
iPhone 4を5.0.1で動作させ、4Sを5.1から動作させてテストしました。私たちのアプリはバックグラウンドモードでTCPソケットを保持します。 5.0.1の電話機は、一貫して動作し、ほとんどすべての時間(ほとんどの場合は受信しなかった)で受信したメッセージをサーバーから表示します。 5.1の電話はヒットアンドミスでした。約3分の1の時間、私は電源ボタンを押すまでサーバーメッセージを表示しませんでした。彼らは、同じルータに接続されて、同じバージョンのアプリを実行して並んで座っている。科学的な実験ではありませんが、iOS 5.1はWi-Fi接続ではあまり良くありません。 – chr
@chrこれをさらに調査していただきありがとうございます。それは私の継続的な検索を絞り込むのに役立ちます。 –