こんにちは、
これは私の最初の投稿です。これがどこかに回答されている場合は、ご容赦ください (検索しました)。
問題: システム上の複数のユーザー アカウント間で 1 つの Core Data データベースを共有する必要がある Cocoa アプリがあります。
アイデア: ユーザーからの要求を処理するデーモンを作成して (ユーザー特権の境界を越えるため)、Core Data からデータを保存/取得します。アプリケーションで使用される共有管理オブジェクト コンテキストを作成し、その MOC を NSXPCConnection を介してデーモンに渡します。デーモンには、完全に実現された Core Data Stack があります。次に、アプリで作成された MOC を、デーモンによって作成された MOC の子として設定できます。保存を押して完了ですか?
質問: これでも機能しますか? これは単なるばかげた考えですか?他の解決策は何ですか?NSManagedObjectContext は NSCoder プロトコルに準拠していますが、XPC で使用するには、サブクラス化して NSSecureCoding プロトコルに準拠させる必要がありますか? また、ManagedObject サブクラスが NSXPConnection で使用する NSSecureCoder プロトコルに準拠していることを確認する必要がありますか? コンテキストをすべて捨てて、管理対象オブジェクトを送信するだけでよいと思います。
NSXPCConnection がポインターを使用する代わりにオブジェクトをコピーすると仮定していますか? これは正しいです?また、オブジェクトは完全に実現されたオブジェクトとしてコード化/デコードされ、障害が発生しないため、おそらくパフォーマンスを念頭に置く必要があります。これは正しいです?
よろしくお願いいたします。