1

ユーザーのアクションについてローカルに保存された分析データを保存しようとしているので、後でユーザーがインターネットに接続したときにアップロードできます。通常の状況では、データをローカルに保存し、その後アプリを開いても削除されないようにしたいと思います。データを iCloud に同期したくありません。また、更新間でデータを保持することも理想的です。容量が少ない場合にデータが削除されても問題ありません。

NSCachesDirectory または NSLibraryDirectory のいずれかにデータを保存する場所について、さまざまなソースからさまざまな回答を得ています。注 NSCachesDirectory は NSLibraryDirectory のサブディレクトリです。ファイルシステムは Application_Home/Library/Caches/ のようになります。

公式ドキュメントによると: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTuning/PerformanceTuning.html#//apple_ref/doc/uid/TP40007072-CH8-SW9は私を意味しますNSCachesDirectory を使用してデータを保存する必要があり、ほとんどの状況では削除されません。また、NSLibraryDirectory が iCloud に同期されていることも意味します。

これらの回答によると、iPhoneで書き込み可能なパスを取得するにはどうすればよいですか? https://stackoverflow.com/a/5444762/340520/NSCachesDirectory からのファイルはいつ削除されますか? 、NSCachesDirectory は、アプリの更新と、NSCachesDirectory を常に再作成する必要があるという主張の間で保持されません。最初の答えは、NSLibraryDirectory がデータを保存するのに最適な場所であることも意味しています。ただし、これらの回答は 2 年前のものです。

ドキュメントとこの回答によると:http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTuning/PerformanceTuning.html#//apple_ref/doc/uid/TP40007072-CH8-SW10https://stackoverflow.com/a/8830746/340520、 NSCachesDirectory は、アプリの更新間で保持されます。

Localytics の iOS SDK はデータを NSCachesDirectory に保存します: https://github.com/twobitlabs/Localytics-iOS/blob/master/src/LocalyticsDatabase.m Mixpanel の iOS SDK はデータを NSLibraryDirectory に保存します: https://github.com/ mixpanel/mixpanel-iphone/ブロブ/マスター/Mixpanel/Mixpanel.m

これらすべてのソースの中で、私は NSCachesDirectory を使用することに傾いてきましたが、状況によってはデータが定期的に削除されないという確信はありません。

4

3 に答える 3

0

Caches ディレクトリは、削除された場合にアプリが簡単に置き換えることができるファイルにのみ使用する必要があります。Caches ディレクトリは、アプリの更新中に削除される場合と削除されない場合があり、デバイスのストレージ容量が不足している可能性があります。これは、一時ファイルまたは簡単に置き換えることができるファイルにのみ使用してください。

私の最初の選択は、Library/Application Supportディレクトリ ( NSApplicationSupportDirectory) です。このディレクトリはデフォルトでは作成されないことに注意してください。アプリは最初の起動時にそれを作成する必要があります。このパスは、アプリの更新中に保持され (ほとんどのアプリ サンドボックスと同様)、iTunes (または iCloud) デバイス バックアップを介してバックアップされます。

于 2013-03-01T04:05:14.950 に答える
0

ファイルが iCloud と iTunes にバックアップされないようにするにLibrary/Application Support (NSApplicationSupportDirectory)はどうすればよいですか? 詳細については。

于 2013-05-24T08:12:13.653 に答える