私の IOS アプリでは、CoreData に 2 種類のデータを保存します。1 つはユーザーが生成したタイプで、もう 1 つは事前に生成されたデータベースです。現在、これはすべて同じストアにあり、ドキュメント フォルダーに入ります。しかし、これは良い方法ではないので、2 つの別々の店舗に分割します。
2 つの問題があります。
- 事前に生成されたデータベースは、iCloud によってバックアップされるべきではありません。
- アプリの更新が提供された場合、ユーザー データは保持する必要がありますが、事前に生成されたデータベースは上書きする必要があります。(データ モデルが変更されていない場合でも、事前に生成されたデータベースのコンテンツは更新されます。)
問題 1 については、事前に生成されたデータベース ストアをキャッシュ ディレクトリに配置するか、バックアップをスキップするフラグが設定されたドキュメント ディレクトリに保持することができます。キャッシュ ディレクトリはいつでも空にできるので、ドキュメント フォルダーはバックアップなしで使用する方がよさそうです。しかし、それで問題 2 は解決しますか? つまり、事前生成されたデータベースは更新後に上書きされますか?
そうでない場合、他の解決策はありますか?