Dear list,

I'm wondering about whether or not an app that uses iCloud to sync a core-data 
store (shoe-box app) should have a user preference to disable syncing. Suppose 
the user doesn't want to sync across machines? I don't think they get a 
check-box in the iCloud system prefs pane, right? 

And if it would be good practice to offer should a check-box to the user in the 
app's preferences, how would one go about enabling/disabling iCloud at run-time 
for an app using core data? Would it be enough to ignore the notifications? I 
guess not, since when the app relaunches it will see the transactions produced 
on other machines.  So I guess the correct way is to create a new persistent 
store coordinator with/without the *Ubiquitous* keys and swap it in. 

And suppose the user has iCloud enabled in the app on one machine, but disabled 
on another machine, then the transaction logs would be generated. So how to 
ignore them on the machine where iCloud is disabled for the app? Would it be 
correct to create an NSPersistentStoreCoordinator where 
NSPersistentStoreUbiquitousContentNameKey and 
NSPersistentStoreUbiquitousContentURLKey are not set? Would that mean that that 
copy of the app would not get the 
NSPersistentStoreDidImportUbiquitousContentChangesNotification notifications 
and would it ignore the transaction logs? And what should one do when/if the 
user re-enables iCloud sync? Will the app catch up with the transactions?

Has anybody thought about, or even better, solved these issues?

Best wishes,

Martin





_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to