旧文新看:iCloud 同步出错 —— 先 ckksctl,再全部重登
iCloud 同步出问题时,大部分人只会等。2022 年我给群里的结论是:「一切 iCloud 同步问题都可以通过 reset CloudKit 解决」。
原理是这样的:所有登录同一个 Apple ID 的设备共用一份 CloudKit 数据,网络不畅时可能错乱。所以我在 Mac 上的步骤是,先用 ckksctl status 确认处于 logged in 状态,再用 ckksctl fetch 强制同步一次,接着 ckksctl reset 用云端覆盖本地;确认本地数据完好之后,再用 ckksctl reset-cloudkit 反过来用本地覆盖云端。我当时特别提醒,「keychain-2.db 通常只有几十 MB」,可以用它的大小判断本地数据是否完好。
命令行之外,还有一条更朴素的路:「不过说实在的,退出再登录是最容易排障的办法,注意是全部退出再逐个登录」。重点在「全部」和「逐个」,留一台在线,错的那份数据就可能再同步回来。