私のアプリでは、CoreDataを介してXMLデータを取得し、解析してsqliteデータベースに保存します。このデータはアプリの操作に不可欠であり、オフラインでの使用に必要です。私の最小ターゲットはiOS4.3です
これはユーザー生成ではないため、 / Library/Documentsに保存できません
- iOS 5.0は、ファイルを「バックアップしない」とマークする拡張属性をサポートしていないため、/tmpおよび/Library/Caches以外のものはすべてバックアップされます。
ソース:https ://developer.apple.com/library/ios/#qa/qa1719/_index.html
このため、データを/ Library/Cachesフォルダーに保存する以外に選択肢はありません。iOSはいつでもこのディレクトリを削除できます。
これは、アプリが(xmlを介して)新しいデータをダウンロードし、それを使用して保存するときはいつでも...
[managedObjectContext save:&error]
... 最初にMyData.sqliteがまだ存在するかどうかを確認する必要があることを意味しますか?
そうでない場合は、CoreDataスタックを「復元」してから、新しいポインターを取得する必要がある可能性のある他のオブジェクトに警告するか、managedObjectContextのpersistentStoreCoordinatorを変更する必要があります。
この解決策は正しくないようですが、「バックアップしない」をサポートしていないiOS 5.0、Appleのデータストレージガイドライン、および/ Libraray / Cachesディレクトリのパージの仕組みに基づいて、他の方法があるかどうかわかりません。