已过时

2023年6月:目前的iCloud云备份已经默认排除了照片库。

TL; DR

iCloud照片图库用来在同一个 Apple ID 的多个苹果设备间同步照片。 iCloud备份是属于单个苹果设备的数据备份,照片属于其备份的若干个App之一。

相信不少 iPhone/iPad 用户碰到过「iCloud储存空间不足」、「已经有x天没有备份」之类的警告,常常一头雾水。对此我进行了一番探究,终于找出了症结所在。鉴于苹果官方文档语焉不详、中文资料一如既往地匮乏,我在此试阐述上述问题的产生原因与解决方法,以解诸位的心中之惑、心头之痒。

iCloud 是苹果提供的云端服务,该服务的其中之一就是在云端存储你的数据。众所周知, iCloud 只提供 5GB 的免费存储空间,iOS(即于 iPhone/iPad 设备上运行之系统) 弹窗警告所言「iCloud储存空间不足」指的就是这个存储空间不够。

那么这个“空间”主要存储些什么东西?我归纳为以下两类:多设备共享数据 与 单设备独立数据。

多设备共享数据比较好理解,就是你在苹果设备(iPhone/iPad/Mac)上都能访问到的数据,如照片、日历、备忘录、Safari 历史记录/阅读列表等。这些数据不仅能在登录了相同 Apple ID 的各个苹果设备上读取,在某个设备上对共享数据作出的修改也会同步到其他设备上。

单设备独立数据听起来则比较陌生一些,但它的出现要早于多设备共享数据 (未严格考证,考古学家轻喷)。早期的 iOS 用户可能还记得,那时的 iPhone 必须使用 iTunes 同步来实现我们今天司空见惯的功能,如下载音乐、播放视频、安装App。当同步一台 iPhone 时,一方面是把 iTunes 内的音乐、视频、App等数据装进手机,同时也会把这台手机内的数据保存到 iTunes 里。后来虽然在 iTunes 设备摘要的界面中增加了选择备份到 iTunes 里还是 iCloud 上的选项,但备份的内容不变,即这个设备本身的数据。

itunes-devices-summary-backup-options

苹果一直在避免提及“独立数据”这一概念,并且把入口做得特别深;这还不够,它默认开启了设备上所有App的数据备份。App的数据备份是分设备的、独立的,仅用于恢复备份。更严重的,被默认开启数据备份的App还包含了照片图库,这太能占空间了;想象一下,你的 iPhone 中有 3G 的照片,同时开启了独立数据和共享数据的备份,那么照片图库就被备份了两遍,占 6G 空间。同样的,个别数据量很大的App备份也会导致存储空间不够。曾经,在我搞清楚这些操蛋的产品设计(姑且称其为“设计”吧,more shit than design actually)之前,有一次我用 iTunes 往 VLC 里塞了几个视频,睡一觉起来 iOS 开始不断警告我空间不够但不说原因,这酸爽!关闭方式见下图。

icloud backup what

苹果在网络相关服务的隐藏细节方面做得可谓是臭名昭著。此处讲一点,iCloud 云备份失败时完全不给任何提醒,包括在 iCloud 云备份的设置界面上(仅显示上次成功备份的时间)。这是极难找出问题的,现象表现为iCloud 存在可用空间但是死活备份失败,除非你意识到即将被备份的数据大小加上 iCloud 存量数据大小超过限额。所以,当 iCloud 空间不足以装下将要备份的数据时,iCloud 云备份“自动”失败,天天都失败,失败一段时间后,iOS 开始指责你为什么不备份,快滚去备份,完全不说任何备份失败的原因。

最后,去他妈的 iCloud!Google Photos、Google Keep、Google Calendar、Google Drive、OneDrive 用起来!

附我的 iCloud 受伤记录: