Fix for Safari bookmark sync issues
This is not a question but a solution that worked for me when the others out there didn't. The problem manifests as bookmarks/reading list items not synchronizing between macs, iPads, and iPhones. Many hours were spent trying proposed solutions elsewhere (including, but not only, the Apple Help pages and working with AppleCare). This solution is not for the faint of heart and requires Xcode:
- Export your bookmarks as a backup. You’ll need this later.
- On mobile devices, disable and remove iCloud bookmarks from all devices, and remove any other bookmarks and reading list entries that remain
- On Macs, disable iCloud Safari syncing. Delete ~/Library/Safari/Bookmarks.plist
Using just one of the mac logged into your iCloud account
1. Quit Safari
2. Disable iCloud safari syncing (if you haven’t already)
3. Delete Bookmarks.plist file in ~/Library/Safari (if it exists)
4. Turn iCloud syncing back on
5. Wait for bookmarks to be pulled from iCloud (the Bookmarks.plist should reappear)
6. Using Xcode, open the Bookmarks.plist file
7. Look for stashed changes (expand the Sync leaf, if a Changes leaf does not appear, then this is not your issue)
8. Delete the changes leaf, you’ll be prompted to unlock, do so.
9. Save the file, you may need to use Save As… and overwrite the file without the changes
10. Relaunch Safari and delete a few bookmarks at a time, monitoring the Bookmarks.plist file to make sure changes get committed — Xcode will dynamically update if the file chnages, the changes should disappear once committed.
11. If changes do not get committed (they don’t disappear), repeat this process until changes no longer appear in the Bookmarks.plist downloaded from iCloud in Step 5
Once the file that gets pulled from iCloud no longer has stashed changes, you can add a new bookmark (making sure it gets committed; Changes should appear and disappear in the Bookmarks.plist file).
Once you’ve successfully completed the steps and the file pulled from iCloud no longer has stashed changes, you can add a new bookmark (making sure it gets committed; Changes should appear and disappear in the Bookmarks. plist file). This means you’re on the right track to resolving the synchronization issue.
You can then turn back on iCloud sync on your iPhone/iPad, and it should sync the bookmark you added with your mac. Using the exported bookmark file, you can drag and drop the links into the bookmarks or reading list sidebar and re-recreate the structure you had before.