forked from alekseyn/iCloudStoreManager
-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
If I have three devices A, B and C, all working on their own local stores first (iCloud disabled).
How can I
- Push:
Device A enables cloud and uses its local store to overwrite any data in iCloud and other devices can pull from there. - Pull:
Device B enables cloud and deletes its local cloud store for rebuilding it from iCloud. - Merge:
Device C enables cloud and keeps its local data, but merges incoming transaction logs.
My implementations so far are:
- Push:
[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] deleteCloudContainerLocalOnly:NO];
[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] setCloudEnabled:YES];- Pull:
[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] deleteCloudContainerLocalOnly:YES];
[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] deleteLocalStore];
[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] setCloudEnabled:YES];- Merge:
[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] deleteCloudContainerLocalOnly:YES];
[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] setCloudEnabled:YES];Our observations are that a push of device A followed by a pull of device B work if iCloud wasn't populated before. Devices will be in sync then. But if the devices disable iCloud again and make another push & pull procedure, all pulling devices don't show any data.
We can get the devices back in sync if we do a
objective-c[[[AppDelegate sharedAppDelegate] ubiquityStoreManager] deleteCloudContainerLocalOnly:NO]; wait for a short time and then hit the the push and pull buttons on the devices again.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels