サーバー内の画像とは別にいくつかのファイルをダウンロードします。これらのダウンロードされたファイルは、TTURLCache を使用してキャッシュされます。一定期間にわたって、アプリが消費するディスク容量が増加する可能性があります。同じ理由で、アプリの設定には、キャッシュされた情報を選択的に消去する機能があります。
この投稿の助けを借りて、サーバーからの URL に対応するローカル ディスクに保存されているファイルを削除できます。これにより、サンドボックスの場所 "Library/Caches/Three20" からデータが消去されます。
ただし、オフライン モードに切り替えても、アプリは引き続きリモート リソースをプルしてデータをレンダリングできることがわかりました。また、インターネット接続がない場合でも、ファイルを「Library/Caches/Three20」の場所に戻します。さらに精査すると、リクエストが取得されるキャッシュ データベースがあることがわかりました。
「ライブラリ/キャッシュ/com.yourcompany.yourapp/Cache.db」「ライブラリ/キャッシュ/com.yourcompany.yourapp/Cache.db-shm」「ライブラリ/キャッシュ/com.yourcompany.yourapp/Cache.db-wal」
すべて問題ないので、「Library/Caches/Three20」の場所からファイルを選択的にクリアすることとは別に、データベースからデータベースエントリを選択的に削除する必要があることをテストしました:「Library/Caches/com.yourcompany.yourapp/Cache.db」 "、"Library/Caches/com.yourcompany.yourapp/Cache.db-shm" & "Library/Caches/com.yourcompany.yourapp/Cache.db-wal".
コードを確認しましたが、データが Cache.db に正確に書き込まれている場所と、その情報をどこで消去する必要があるかを見つけることができませんでした。
どんなリードも大歓迎です。