Core Data をストレージとして使用するユニバーサル iPhone/iPad アプリケーションがあります。ユーザーが 2 つのデバイス (iPhone、iPod、iPad) 間でデータを同期できるようにしたいと考えています。
これを実行するサンプル アプリケーションまたはコードはありますか?
You just need to write a regular Core Data app, and as a general Core-Data-agnostic problem, figure out a good way to package and exchange data between two networked devices.
One way is to use JSON or XML to encapsulate your Core Data entity data being synced between two devices. You could run web servers on both devices to exchange JSON- or XML-encapsulated data.
When the web server receives a request and a bundle of data, it then adds a new entity to the Core Data store, just like any other local application would.
Just search Google or your favorite search engine on "JSON", "XML", and "web services". There are lots of third-party Objective-C frameworks for processing JSON and XML, as well as for making web requests and for receiving them.
この質問を復活させるには: 新しいエンティティを挿入すると、他の永続ストアに存在する関係が保持されますか? 例えば:
ユーザーは、iPhone でエンティティ B との関係を持つエンティティ A を設定します (逆も成り立ちます)。ユーザーはアプリを iPad バージョン (データがない) と同期します。同期を正常に完了する唯一の方法は、属性と関係が同期されたエンティティから「コピー」された新しいエンティティ A と B を挿入することです。新しい管理対象オブジェクトを新しい永続ストアに挿入したので、iPad アプリには正しい関係が設定されているでしょうか?
Core Data ドキュメントでは、2 つの管理対象オブジェクトが複数の永続ストアに属することはできないことが明確にされており、同じデータを持つ新しいオブジェクトを挿入することが提案されています。ただし、これを行うと関係が正しく構成されないことが懸念されます。