I haven't seen any either, iCloud apps on Mac that is. All the documentation I've read however seems to indicate that iCloud support should be optional. I know quite a few users who don't have and never will have an iCloud account and they need to be catered for.
What I hate most about the dual system is the lack of the NSMetaDataQuery for the local sandbox, I've had to write 2 methods for many things, one if it's ubiquitous and one if it's not. On Feb 4, 2012, at 10:29 PM, Martin Hewitson wrote: > Dear Roland, > > Thanks for the reply. That provides food for thought. One thing I should have > mentioned is that I'm talking about an OS X app, not iOS. My impression so > far is that Apple wants us to have iCloud enabled in the app, or not, but it > should not be a user configurable thing. Perhaps I'm wrong (I hope so). I > haven't seen any real-world iCloud enabled shoe-box apps on OS X yet, so it's > hard to know what's the current best practice. > > Cheers, > > Martin > > >>> 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 >>> >> >> I'm finishing up a shoebox app now and I do have the option to store things >> in iCloud or not. My eventual solution to this was to have a preference >> screen in the app with a single "enable iCloud' switch. If you flip it from >> off to on, or on to off, you get a section of buttons to hit asking how you >> want to perform the transition (eg when transitioning to the cloud you can >> merge local to cloud, use cloud or use local), it then gives you a >> confirmation box before you do it. I failed to find a really good way to do >> this in preferences, so I put it in the app itself, there are just too many >> questions about how you want to perform the migration which I think need to >> be asked then. >> >> Not quite sure about your question about iCloud on one device and not the >> other. If iCloud is enabled then the files are in the iCloud URL sandbox, >> else they are in the Documents subdirectory of your normal app sandbox. I >> don't know what happens if you work in the sandbox without an >> NSPersistentStoreUbiquitousContentNameKey and .. the other one .. I guess >> you don't generate the logfiles and that may mean it's hard to later sync to >> the cloud (unless makeUbiquitous is very smart). So I would personally >> probably just use the same keys whether I was in iCloud or not and let the >> framework sort it out. Yes I know that means if you stay local you might end >> up with lots of useless logfiles you don't really need, I've seen no >> guidance in the docs nor the forums about this. >> >> I'm not sure about the last question. I've been operating on the principle >> that if you enable iCloud, anything which is there is there, and anything >> local is either copied to a new URL and left there, or just overwritten, in >> the general case it would seem hard to apply the transaction logs to a >> database which might have moved forwards in time. >> >> I have found that writing a monitoring app which just shows the changes in >> iCloud on the device has been the most useful debugging tool I have. I >> change them in one place and can see on say an iPad what has happened in the >> cloud. It continues to be unfortunate that the simulator doesn't work with >> iCloud and you have to do it on the device as you just don't have the >> sandbox access to really see what you have. >> >> >> >>> >>> >>> >>> >>> _______________________________________________ >>> >>> 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/rols%40rols.org >>> >>> This email sent to r...@rols.org >> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Martin Hewitson > Albert-Einstein-Institut > Max-Planck-Institut fuer > Gravitationsphysik und Universitaet Hannover > Callinstr. 38, 30167 Hannover, Germany > Tel: +49-511-762-17121, Fax: +49-511-762-5861 > E-Mail: martin.hewit...@aei.mpg.de > WWW: http://www.aei.mpg.de/~hewitson > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > _______________________________________________ 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