アプリのカスタム ファイル タイプ (XML として保存されている) を処理するために NSPersistentDocument と Core Data に依存する OS X アプリがあります。
Core Data モデルを更新すると (単純な変更を行い、軽量の移行に依存しています) 、新しいモデルを利用しているアプリでファイルを開くだけで、ディスク上のファイルが変更されることに気付きました。元のファイルのバックアップ バージョンもディスクに表示されます (ファイル名に「~」が追加されます)。これが発生すると、以前の (リリースされた) バージョンのアプリでファイルを開くことができなくなります。
明確にするために:私は単にファイルを開いています。ファイルをディスクに保存していません。Finder で見ると、ファイルを開くとすぐに「~」が表示されます。
これは非常に危険な行為のようです。私は非常に用心しなければならず、私のユーザーベースが現在使用しているファイルを決して開かないようにしなければなりません。
これは OS X のデフォルトの動作ですか? NSPersistentDocument または私の Core Data モデルを構成して、ファイルを開くとストアが内部的にアプリに変更されますが、明示的に保存しない限り、変更がディスクに反映されないようにする方法はありますか?