Thanks for the heads up. I’ll definitely keep that in mind. I’m curious though, what other downsides did you run into when using iCloud sync? Would love to learn from your experience.
In general it's a bit of a closed box, it's not that easy to work with and to me felt unreliable and difficult to debug. Running migrations can be easily forgotten and this needs to be done in the dashboard as far as I remember. There aren't official APIs to check certain things like if the user has quota, what to do when the quota is full, how to communicate that etc. I think you may be able to check if it's enabled though. Another one is its not cross platform in any meaningful way, I thought this would be fine initially but as the app I worked on developed it was clear a web or Android version would be nice to add without being tied to an Apple account. I ultimately removed it and wrote my own optional sync layer with my own auth and no one seemed to mind. This thread might be useful https://mastodon.social/@marcoarment/109540935902363728
Most of those things can probably be worked around and might not be applicable to your app but for me it went to the bucket of technologies not to touch again.
In general it's a bit of a closed box, it's not that easy to work with and to me felt unreliable and difficult to debug. Running migrations can be easily forgotten and this needs to be done in the dashboard as far as I remember. There aren't official APIs to check certain things like if the user has quota, what to do when the quota is full, how to communicate that etc. I think you may be able to check if it's enabled though. Another one is its not cross platform in any meaningful way, I thought this would be fine initially but as the app I worked on developed it was clear a web or Android version would be nice to add without being tied to an Apple account. I ultimately removed it and wrote my own optional sync layer with my own auth and no one seemed to mind. This thread might be useful https://mastodon.social/@marcoarment/109540935902363728
Most of those things can probably be worked around and might not be applicable to your app but for me it went to the bucket of technologies not to touch again.