iCloudをサポートするためにローカルのCoreData-drivenアプリを更新しています。私が予想する課題の1つは、私が「ストックオブジェクト」と呼んでいるものです。アプリが最初の起動時に提供するシードデータで、99%のユーザーがカスタマイズします。
ストックオブジェクト
Item A
Item B
カスタマイズされたオブジェクト
Tomatoes
Potatoes
その後、ユーザーが新しいデバイスで初めてアプリを起動した場合、デフォルトの動作は、iCloud永続ストア(アイテムA、アイテム)からカスタマイズされたオブジェクトとマージされるストックオブジェクトの再作成であると思いますB、トマト、ジャガイモ)、ユーザーエクスペリエンスが乱雑になります。
1つのアプローチは、最初の起動時にiCloudデータを同期的にチェックし、存在する場合はストックオブジェクトを作成しないことです。しかし、それでも、ユーザーは最初の起動時にオフラインになる可能性があり、2回目の起動時に、ローカルストックオブジェクトとiCloudカスタムオブジェクトの同じ望ましくないマージが発生します。
iCloudマージにロジックを追加して、クラウドからカスタマイズされたオブジェクト(トマトとポテト)が到着すると、ローカルのストックオブジェクト(アイテムAとアイテムB)がビームアップする前に削除するように通知できるようにする方法はありますか?
ありがとう!