Text replacement syncing is completely broken. Sometimes it works, sometimes it doesn’t. Sometimes it will only sync back old snippets that you have deleted. Sometimes the sync will work one direction, but not the other. Every time I ask about this on Twitter, it brings a strong response of similar experiences.
From my own experience, syncing of all other data via iCloud has really improved. Notes, Calendar, address book, reminders, photos, etc all sync almost instantly across all devices.
What is so special/not special about Text Replacement snippets that makes it so hard?
I know a bunch of people have been passing this link around today, but I thought I’d throw my bit in, too, because a few friends and I were chatting about this in Slack just this weekend. It’s truly astonishing that seemingly the buggiest part of iCloud is syncing plain text strings. As one person quipped in Slack, it’s amazing that I can make dozens of edits to a RAW photo and see that reflected nearly instantaneously on all my devices, but changes to text replacements remain entirely unreliable.
I used the word “astonishing” because I truly mean it. iCloud is a long way from its bug-riddled past, and features like iCloud Photo Library have worked nearly flawlessly for me since they launched. Greg Pierce’s sources say that text replacement still uses the old (and deprecated) iCloud Core Data APIs. I imagine that it’s one of the last things that does — this year’s iOS and MacOS releases migrated Safari bookmark syncing to an updated format. It’s long past the time when text replacement syncing should have been fixed, but there’s no time like the present.
Update: Apparently, if all devices under a single Apple ID have been upgraded to the latest versions of MacOS and iOS, text replacement syncing will use CloudKit instead of iCloud Core Data. Over time, we will see how much of a role the underlying technology played in its unreliability.
Update: A clarification on the above — an Apple spokesperson emailed John Gruber to state that text replacement syncing will switch to CloudKit with an update. No word on whether that’s a back-end update or a software update. On a potentially related note, the first beta of iOS 11.1 was pushed to developers today.