drewmccormack / ensembles

A synchronization framework for Core Data.
MIT License
1.63k stars 132 forks source link

CloudKit Working? Does Anyone have actually have Subscription, etc. working? #288

Open johnheb opened 4 years ago

johnheb commented 4 years ago

I have been trying to get CloudKit Subscriptions working, basically it doesn't do anything after you attempt to send the invitation. I came across this little note in CKSubscriptions Apple doc:

Overview Note: CKQuerySubscription is not supported in a sharedCloudDatabase.

Can anyone enlighten me and/or describe how to get the subscription workflow working? Or a least confirm that it does work?

Many thanks!

drewmccormack commented 4 years ago

You need to make sure you call the register method in your app delegate, as well as have the push notifications, and background fetch capabilities. See the sample app to see how that works.

The subscriptions also don't work in the simulator if I remember properly.

Are you using the CloudKit sharing? If not, the warning you mention should not play any part. For standard sync of one user, you don't need CloudKit sharing.

johnheb commented 4 years ago

Drew,

WE NEED CLOUDKIT SHARE. As described to you in detail, numerous times;

  1. Our current apps are able to share information between devices using the same iCloud Account with Apple Ubiquity Store methods. Not as cool as Ensembles, but works for thousands of users with the same iCloud Account.

  2. WE NEED ENSEMBLES TO SHARE DATA BETWEEN USERS WITH DIFFERENT ICLOUD ACCOUNTS. Why in the world would you offer all this technology, CloudKit Share, Dropbox, IdioSync, etc. to simply share data between devices using the same iCloud account? We are doing it now with basic iCloud.

On Jan 4, 2020, at 2:34 AM, Drew McCormack <notifications@github.com mailto:notifications@github.com> wrote:

You need to make sure you call the register method in your app delegate, as well as have the push notifications, and background fetch capabilities. See the sample app to see how that works.

The subscriptions also don't work in the simulator if I remember properly.

Are you using the CloudKit sharing? If not, the warning you mention should not play any part. For standard sync of one user, you don't need CloudKit sharing.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/288?email_source=notifications&email_token=AB4FAW3QNXLNE5UTMV3H5ETQ4BJ3XA5CNFSM4KCNODZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEICULYI#issuecomment-570770913, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4FAW3SRXD5JRSPC2L3KOTQ4BJ3XANCNFSM4KCNODZA.

drewmccormack commented 4 years ago

I have a LOT of customers, and do a ton of support each day. I don't recognise every request, and recall all circumstances on every issue posted. Especially when a request is new, and I can't see any history attached to it.

Why would I offer a sync solution for iCloud? Because Apple's own solution was such a disaster, I had to create my own. It was unusable, and is now also completely deprecated. That is why. I would have preferred not to write my own framework, but there was no choice.

Ensembles supports CKShare. I did not say you can't use shared stores. But push notifications may not be supported, due to the Apple restriction. The push notifications are not a requirement, they are just a nice-to-have, so for a shared store, you can just use a timer to sync every few minutes, in addition to other logical times (eg going to background).