I’ve recently won a small victory in the battle against the Black Box that is iCloud Sync and currently have a complete and correct set of Text Replacement shortcuts synchronizing across all my Macintosh computers and iOS devices.
Warning: Voo Doo follows. I’m not a true expert on the deep inner-workings of Mac OS. I don’t believe my fix will do any harm, but proceed with caution and always make a backup! (Then make another for good measure. Remember the 3–2–1 rule!)
After removing the folder com.apple.InputMethodKit.TextReplacementService from the depths of the ~/Library hierarchy and restarting the computers my current list of Text Replacement shortcuts is available on two Macs that previously refused to synchronize. Both of these Macs legitimately run Sierra, but didn’t start life that way. The folder com.apple.InputMethodKit.TextReplacementService is buried somewhere inside ~/Library. Sorry, I didn’t make note of the full path — I found it using a Finder Search.
Update: A friend in the Ars Technica: Macintoshian Achaia forum reports that the path is ~/Library/Group Containers/com.apple.InputMethodKit.TextReplacementService
The Whole, Sordid Tale
For a very long time (I want to say going back to at least iOS 8?) Keyboard Text Replacement shortcuts weren’t syncing consistently across my Macs and iOS devices. I had varying combinations of shortcuts available depending on which device I was using and no way to get the same set to propogate across all devices At times shortcuts would disappear completely, and reappear as duplicates after I’d taken time to recreate them. This was an annoyance because I make heavy use of a handful of shortcuts and because I want access from all of my iOS apps, Text Expander isn’t an option for me.
I tried numerous proposed fixes without success and refused to try a few that I deemed too extreme, complex and time consuming — particularly given the mixed results reported from the killing of these various rubber chickens. I have an open (for months) support ticket with Apple for months — The engineers were aware of the problem, but no fix was forthcoming.
With the recent purchase of a new MacBook Pro, I found that the shortcuts weren’t syncing over to it at all. I was temporarily ignoring the problem but in the end I knew this would not stand.
Seemingly coincident with the latest round of behind the curtain iCloud adjustments, the system magically started working and after a restart of each device I had a complete set of shortcuts on my iDevices. (So complete that there were multiple entries I’d long ago abandoned and thought I’d purged!) I checked the shortcuts on the new MacBook Pro and was disappointed to find them missing — until I restarted the Mac after which the shortcut list appeared.
Thus encouraged, I removed the extraneous entries from the Mac. This didn’t take long with multiple selection. Next I made a few adjustments to the shortcuts I wanted to keep. I was really pleased when, in very short order, this corrected master list of Text Replacement Shortcuts propogated to both my iPhone and iPad Pro.
Next stop was my iMac. Opening the appropriate preferences pane revealed its own special selection of keyboard shortcuts that (previously) weren’t at all in sync with any other devices. Okay, I got this. Restarted. No joy. Grrrr.
I spent a few minutes re-searching the internet for anything new on the topic. Still a lot of noise and no definitive solutions, but I came across an article that through a chain of “logical leap what ifs” on my part led me to doing a finder search that in the end led me to discover a folder buried deep in my user library: com.apple.InputMethodKit.TextReplacementService. This folder may be a legacy preference/cache because a searching for it on my new MacBook Pro (Sierra native) returns null.
I moved the folder to the Desktop and restarted. I immediately opened the Text Replacement preference pane and found the list was empty. However, within a few seconds it was populated with my complete and correct master list of shortcuts. I repeated the this procedure for my account on the MacBook Air I administer for my mother and had the same experience.
There was one more device in the mix. I keep a 4th gen. iPad at work for reading and light browsing during breaks. The restart trick wasn’t working on that device — most likely because the guest network is accessed through a captive portal. (I speculate that after the device restart, the iCloud Sync Check takes place before the network connection is made.) Last night I brought the 4gen home to do the iOS system update. After the update/restart the shortcuts are present and good to go.
At least for now I have a consisent set of shortcuts across all of my Apple devices and changes made to those shortcuts propogate to the other devices promptly.
If you’re having this problem and this fix works for you please drop a note in the comments.