アプリの使用を拡大できる「モジュール」をダウンロードできるアプリがあります。
ユーザーがモジュールをダウンロードすると、サーバーからZIPファイルを取得し、それを彼のCachesフォルダーに抽出します。(これらの各zipは、60kから2MBのサイズにすることができます)。
残念ながら、300を超えるモジュールが利用可能であり、ユーザーの多くはこれらの少なくとも50〜60をデバイスにダウンロードします。
最近、モジュールがユーザーデバイスから消えてしまうという苦情がたくさん寄せられたので、調査を行ったところ、Appleのドキュメントで次のような表現に出くわしました。
iOSは必要に応じてCachesディレクトリからファイルを削除するため、データファイルが削除された場合、アプリは正常に機能を低下させる必要があります。
また、この状況についてさらに説明する次の記事:http: //iphoneincubator.com/blog/data-management/local-file-storage-in-ios-5
私の問題は、ユーザーにこれほど多くのモジュールを自動的にダウンロードさせることができないため、実際に正常に劣化させる方法がないことです。インターネット接続とモジュールのサイズによっては、数時間かかる場合があります。
だから私はいくつかの質問があります:
- 同様の状況に対処しなければならなかった人はいますか?もしそうなら、どのように?
- iOSがいつキャッシュをパージするかを正確に知っている人はいますか?「スペース不足」警告とは何ですか?このようにして、少なくともユーザーに、新しいモジュールをインストールするのに十分なスペースがないことを警告することができます。
- キャッシュフォルダがクリアされる前に、ある種の警告を受け取る方法はありますか?
これはAppleからの本当に苛立たしい動きであり、私は本当に抜け道を見ていません。あなたからいくつかのアイデアを聞いてみたいです。