views:

24

answers:

1

Say the user somehow managed to delete my application’s core data store. (Which has been previously synced with sync services to Mobile Me.)

How do I tell core data to pull the truth (or to refresh) instead of fast sync?

A: 

If they deleted the persistent store, they probably deleted the fast sync store as well. Even if they didn't the application should do a slow sync and pull everything from the truth on next launch.

You should not need to do anything special, from the Sync's PoV it is a new client coming online to sync.

Naturally I would test this in a dev environment first to confirm but it should not require any changes.

Marcus S. Zarra
I was testing this and deleted my store + fast store and all what happened was that the empty store was synced into the truth. The client on my other Mac asked me what to do (merge, replace, dialog) as someone deleted the data on Mobile Me.What I'm doing now is to check if the stores exist on disk and if not I'm doing a "setShouldReplaceClientRecords:forEntityNames:" on the ISyncClient. (Which is the only way to force a pull/refresh I found.)The resources on CoreData+SyncServices are scarce (your book and Apple's docs) and I have the feeling I am doing something really stupid here.
Jaroslaw Szpilewski