2011-07-29 24 views
18

iOS NSCachesDirectoryのファイルはどのような状況で削除されますか?明らかに、アプリケーションを削除して再インストールしてください。アプリケーションのアップグレードはどうですか?ディスク容量の少ない環境はどうですか?他に何か?NSCachesDirectoryのファイルはいつ削除されますか?

+0

FYI:私は私が思っていたバグが上記の質問への答えは私の知る限りので、「アプリケーションの外には、決して削除しない」、何か他のものでした。 – esilver

答えて

10

私たちの経験では、このフォルダはアプリのアップデート時にクリアされます。いつこのフォルダがクリアされるべきか正確に知ることはいいでしょう。 iOSの5は今、このフォルダを使用していますので、廃棄のキャッシュファイルの

場所(ライブラリ/キャッシュ)

NSDocumentDirectoryは、アプリのアップデートでクリアが、このフォルダを使用して注意することはありませんようドキュメントはこのフォルダを記述するiCloudでバックアップするため、このディレクトリを使用してユーザが作成したコンテンツ以外のものを保存すると、アプリが拒否される可能性があります。

+12

NSDocumentDirectoryを使用して、ユーザーが生成していないコンテンツを格納するアプリケーションが拒否されることを確認します。 – Ciryon

+1

Appleがこれを確認していることも確認できます。再構築またはダウンロードできるNSDocumentDirectoryにファイルを保存する必要がある場合は、バックアップ中にスキップするようにフラグを設定してください。 Appleはこれを許可しています。 – respectTheCode

+0

@Ciryonカメラロールでユーザーが選択しているNSDocumentDirectoryに画像を保存しても問題ありませんか? – Bazinga

9

ライブラリフォルダにあるものは、アプリのアップデート中にiOSによって削除されません。

ユーザーがアプリの更新をダウンロードし、iTunesが新しいappディレクトリにアップデートをインストールします:言及アップルからのドキュメント以下

ご確認ください。その後、古いインストールを削除する前に、古いインストールから新しいappディレクトリにユーザーのデータファイルを移動します。次のディレクトリ内のファイルは、更新プロセス中に保存されるようにを保証されています

APPLICATION_HOME> /書類

APPLICATION_HOME> /ライブラリ

他のユーザー・ディレクトリ内のファイルも、あなたを上に移動することができるが、更新後にそれらが存在することに頼るべきではありません。ここで

このドキュメントへのリンクです: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTuning/PerformanceTuning.html#//apple_ref/doc/uid/TP40007072-CH8-SW10

は、この情報がお役に立てば幸いです。

0

NSCachesDirectoryは、iOS 5.0でメモリ不足の場合

で削除することができ、システムは、ディスク容量に非常に低い場合、後に、システムが まれにキャッシュディレクトリを削除することができます。これは、アプリケーションが実行されている間は発生しません です。ただし、 のiTunesリストアは、 キャッシュディレクトリを消去できる唯一の条件であるとは限りません。

more info

あなたはDocumentsディレクトリに保存する必要があなたのファイルを削除する必要はありませんが、このよう場合:

はのための「バックアップしない」属性を使用しますストレージが少ない状況であっても、デバイスに残すべきファイルを指定します。この属性は、再作成可能なデータには使用しますが、アプリケーションの適切な機能を実現するためにはストレージが不足している場合でも、オフラインで利用できると顧客が期待しているために保持する必要があります。この属性は、Documentsディレクトリを含むどのディレクトリに関係なく、マークされたファイルに対して機能します。これらのファイルはパージされず、ユーザーのiCloudまたはiTunesバックアップには含まれません。これらのファイルはデバイス上のストレージスペースを使用するため、アプリはこれらのファイルを定期的に監視およびパージする必要があります。

more info

+0

アプリの実行中にNSCachesDirectoryを削除することはできますか?アプリはバックグラウンドですか? (私はバックグラウンドオーディオアプリケーションを持っているので、バックグラウンドで実行中にライブラリ/キャッシュから積極的に読むことができます) –

+0

私には分かりませんが、メモリが足りない場合にのみ表示されるので、キャッシュから何かを削除する可能性があるという警告メッセージが表示されます。 iOS 5.0.1以降でのみ削除されることに注意してください。とにかく、NSDocumentsDirectoryまたはNSApplicationSupportDirectoryに削除したくないファイルを保存するのが最善の方法です。 – jcesarmobile

+0

メモリが足りないか、ディスク容量が足りませんか? – Gomfucius

関連する問題