Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create an iCloud file sync example showing the use of CRDT #38

Open
heckj opened this issue Mar 1, 2023 · 2 comments
Open

create an iCloud file sync example showing the use of CRDT #38

heckj opened this issue Mar 1, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@heckj
Copy link
Owner

heckj commented Mar 1, 2023

Partially to show how to use the library, but also to work out more kinks - dig around in iCloud/CloudKit and set up an iCloud-based app that synchronizes a file and load/store the CRDT information from that - including reloading and merging on updates, and if that works and doesn't step over each other as two collaborators edit a single, simple document.

@heckj heckj added the enhancement New feature or request label Mar 1, 2023
@heckj heckj self-assigned this Mar 1, 2023
@heckj
Copy link
Owner Author

heckj commented Mar 1, 2023

I'm leaning towards trying this with UbiquityURL and FilePresenter. From Apple's CloudKit docs:
- To use iCloud document storage, use url(forUbiquityContainerIdentifier:) in FileManager. For more information, see Designing for Documents in iCloud.

@heckj
Copy link
Owner Author

heckj commented Jun 20, 2023

Another example that would be really relevant is using it as a synchronization/state update mechanism for Apple's SharePlay API. But in order to be relevant, it would need to enable some controls to limit the update messages, allowing smaller sends if necessary/possible due to SharePlay's 256Kb message limit. For example, If you're slapping data from large (1MB+) images around in LWW maps, it'll need alternative mechanisms due to those limits in SharePlay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant