Overcast Keeping Its Servers
Abandoning the CloudKit plan for Overcast in light of new information.
He’s still finding the CloudKit Web API to be unreliable. Also, a surprising 10% or so of the app’s users can’t use CloudKit, either because the phone isn’t signed into iCloud or because iCloud Drive is disabled.
The Web interface will stick around.
Our one big headache with CloudKit is that some users get into a weird ghost state, where iCloud is logged in but our app fails to connect - as if they aren’t logged in (while other stock apps like Notes keep on syncing). The only fix we can think of is to log out of iCloud and back in, but if the user accumulated any content since last sync it all goes poof.
My advice to anyone who uses iCloud is to have a backup strategy in place before you deploy any features that depend on it.
It’s not a matter of if it will fail, but a matter of when. You will need those backups.
Tot, which uses
NSUbiquitousKeyValueStore
and an all-Apple iCloud stack, gets stuck in this state - our #1 support issue for customers.
Previously:
Update (2023-04-22): Jeff Johnson:
Does CloudKit require iCloud Drive?
Curiously, it seems to be semi-documented here.
2 Comments RSS · Twitter · Mastodon
iCloud Drive, appros of nothing, simply stopped syncing on one of my Macs last year. Tried every trick to get it to work — it just won’t.
I would abandon any app that has to sync a large amount of data with Apple’s help. Photos being the only exception (though I have second thoughts about that one weekly, especially when Apple nags me to buy more space).
Same here with Weathergraph. I added syncing of purchases between user's devices (mainly phone and watch) through iCloud, and when watchOS 9 broke restores for apps with StoreKit 1 (still unfixed!), user not having the iCloud turned on (via the seemingly unrelated iCloud Drive toggle) has quickly become a #1 support issue.
I recently finally got rid of iCloud, switching to WCSession to sync purchases from the phone to the watch, and depending on the restore process to be run on each phone or iPad again.