自分でやりたいのであれば、これは非常に素晴らしいが、やりがいのある演習になる可能性があります。Appleの「iDevices」以外の「iDevices」間のP2P接続を容易にするサードパーティのフレームワークを知りません。車輪の再発明をしたくない場合は、これらの方針に沿って調査を行うことができます。私は、アプリサーバーを介して同期サービスを実装した私の(少しの)経験に基づいて答えています-原則は、P2Pアプローチとほぼ同じでなければなりません。
最初のステップは、データを同期するためのプロトコルを設計することです。あなたがあなた自身のために答えなければならないかもしれない質問:
- データ同期について何を理解する必要がありますか?
- Core Dataモデルのどの部分を同期しますか?同期を容易にするために、現在のモデルに変更を加える必要がありますか?
- どのシリアル化/逆シリアル化メカニズムを使用しますか?
- 複数のデバイス間でエンティティを一意に識別するにはどうすればよいですか?
- データをバージョン管理するにはどうすればよいですか?どのエンティティを同期する必要があるかをどのように判断できますか?
- 同期操作を元に戻すことができる必要がありますか?
- 同期の進行状況を追跡するにはどうすればよいですか?また、障害と例外ケースをどのように処理しますか?これらをユーザーに通知するにはどうすればよいですか?
- 「インクリメンタル」(モデルの一部)と「グローバル」(モデル全体を一度に)のどちらで同期しますか?
- ユーザーはどのくらいの頻度でデバイス間で同期する必要がありますか?
- セキュリティ上の考慮事項はありますか?暗号化が必要ですか?
- 等
これはかろうじて表面を傷つけています。あなたが前進するにつれて、あなたは間違いなくもっと考えることを見つけるでしょう。
次に、デバイス間の接続方法を決定します。あなたは無線ソリューション、P2Pの種類を好むようです。そのために、私はこれらのツールを見ることから始めます:
前に説明した設計上の決定に基づいて、最も快適に感じるツールを選択してください。どちらも経験がないので、お役に立てません。モーフィアスが言ったように:
ドアしか見せられません。あなたはそれを通り抜けなければならない人です。
申し訳ありませんが、少しユーモア:)
最後に、同期メカニズムを実装するためのソリューションを決定します。たとえば、クライアントサーバーモデルを選択できます(1つのデバイスが接続をリッスンし、別のデバイスが接続を開始します)。
より関連性の高いドキュメント:
これがあなたに出発点となることを願っています。