Mac 上的「iCloud 照片图库」经过半个月漫长的时间终于完成了上传,这也是一件很无奈的事。GB 级别的数据遇到 KB 级别的上传速度就是这个样子,不过好在上传一直是在后台默默的工作,对平时的使用并没有什么影响。

iCloud 一揽子的服务方案中,照片库、iCloud Drive、iCloud 备份对网络环境都有比较高的要求,而照片库因为照片和视频文件体积的关系更凸显出同步过程中网速的重要性。

「照片」 iCloud 设置中包含三个项目:iCloud 照片图库、我的照片流、iCloud 照片共享, iPhone 的「照片与相机」设置中也同样包含这几项。这几项服务相同的地方就是都会用到 iCloud 云服务,不同的地方则是它们对应着不同的需求场景:

  • iCloud 照片图库,在开启了 iCloud 照片图库的设备(同一个Apple ID 登录)之间双向同步所有照片和视频;
  • 我的照片流,在开启了「我的照片流」的设备之间(同一个Apple ID 登录)同步近期(30天)的照片(不支持视频);
  • iCloud 照片共享,选择照片或视频发布到「共享相簿」和家人朋友一起共享、评论,共享相簿中的照片和视频将自动同步并推送通知到成员的设备上。

三者之间的关系和不同

iCloud 的各种服务首先都是基于 Apple ID 来判断身份的,然后再根据设备上的具体设置来决定同步或上传的内容。不同设备上启用照片库、照片流和照片共享后同样是如此。

点击看大图

启用「iCloud 照片图库」是首选和最简单的方式,照片以及编辑过后的照片会在设备之间(同一个 Apple ID)同步,如果想节省本地空间占用可以选择「优化存储空间」。

和朋友和家人分享照片最简单的方式是开启「iCloud 照片共享」并创建自己的「共享相簿」或者加入其他人创建的「共享相簿」,这是不同 Apple ID 设备之间同步和推送照片的最佳方式。分享「共享相簿」的前提是要加入到共享相簿的成员组当中,这个过程需要有人发起,收到的人响应才能完成。同事之间偶尔相互传个照片共享相簿是不适用的,这种场景下正确的姿势是选择照片通过 AirDrop、iMessage 或者安装的第三方应用来完成。

照片流和照片库都能实现在设备之间同步照片,只是前者主要是服务于短期的需求(最近30天),后者才是完全和全部的同步。这种差异一方面来自于 Apple 在功能规划上的渐进方式(照片流先推出,iCloud 照片库后推出),另一方面也是两个功能有各自的定位:

  • 照片流不占用 iCloud 空间,对本地的空间的占用也有限(超过时间的照片不再保存在本地,先进先出),只同步最近30天的照片;
  • 持有多台设备的用户也许并不希望所有的照片同步的到处都是(启用 iCloud 照片库的结果),虽然浏览和编辑方便,但是也增大了隐私安全和维护的成本。例如,定位是阅读和看片的 iPad 上或许只打开「我的照片流」用来浏览最近的照片就足够了;
  • Mac 设备和移动终端略有不同,Mac 会自动下载并永久储存「我的照片流」中的所有照片。如果 Mac 上还打开了「iCloud 照片图库」,「我的照片流」中的照片还会导入到「iCloud 照片图库」中。可以看出在照片管理中 Mac 天然就被 Apple 定位成了存储中心;
  • Mac 作为管理照片的中心可以同时开启「我的照片流」、「iCloud 照片图库」,将不同设备上的照片都归集保存到「照片」应用的图库中并自动同步到 iCloud 云端。

Mac 端的照片图库

Mac 版的「照片」在定位上作为照片管理的中心,比移动终端的 iOS 版本多了不少功能:

  • 可以管理多个图库(按住 Option 打开照片应用);
  • 提供了「照片」图库修复工具(按住 Option+Command 的同时打开「照片」),修复工具将分析图库数据库并修复检测到的所有不一致(如某些照片缩略图缺失 的问题);
  • 如果你修复的是启用了「iCloud 照片图库」的图库,则修复完成后,该图库的全部内容会再次通过 iCloud 更新
  • 可以指定和修改那一个图库为「系统照片图库」;
  • 「系统照片图库」才支持与 iCloud 照片图库同步,Apple 应用程序和第三方应用程序通过媒体浏览器能访问到的是「系统照片图库」;
  • 照片图库中的引用文件(储存在「照片」图库外其他位置中的文件称为引用文件)不会上传到 iCloud 照片库。

系统照片图库

按住 Option 键打开「照片」可以创建新的图库,而在不同图库之间切换也是如此,当然也可以选择直接双击某个图库文件来实现切换。

多个图库的管理方式有助于我们管理不同类型(或时间范围)的照片,不过一次只能处理一个图库中的照片。若要处理其他图库中的照片,必须切换到该图库。

「系统照片图库」和其他图库的不同的地方在于只有系统图库才能设定是否与「 iCloud 照片图库」同步,而且 Apple 应用程序和第三方应用程序通过媒体浏览器能访问到的也是「系统照片图库」。

系统图库可以由「偏好设置」中进行指定,不过需要注意的是如果指定新的「系统照片图库」,该图库的「iCloud 照片图库」默认是关闭的,你需要到偏好设置中再次打开。当为新的「系统照片图库」打开「iCloud 照片图库」选项后,储存在 iCloud 中的照片将与新「系统照片图库」中的照片合并。

将新「系统照片图库」中的内容上传到 iCloud 后,就无法取消合并图库,因此最好在更改「系统照片图库」前仔细考虑。

引用照片

有很多照片我们只希望在本地利用「照片」应用进行集中管理和编辑,并不希望它们被同步到「 iCloud 照片图库」,针对这种需求可以去掉「偏好设置」中的「导入」的勾选项。

关闭导入选项后拖拽或导入的照片会以引用照片的方式出现在照片中,区别是在这类照片上右键能看到「在 Finder 中显示引用文件」的选单。用这种方式可以很方便的管理其他文件夹中的照片内容。

如果要将引用照片上传到 iCloud 照片图库,可以选择引用照片后从菜单项中选择「文件 — 整合」,这样引用照片才会真的保存到当前照片库并同步到 iCloud。

为了方便管理,建议你在「照片」中添加一个智能相簿,如上图所示设置匹配条件为「引用」,这样可以更直观的看到所有的引用照片,方便维护和管理。

「导入」选项只影响当前 Mac 的照片导入,连接数据线从「照片」 iPhone 设备上导入照片不受影响
引用照片的重复,你选择从引用文件所在文件夹中导入新图像时,可能会导入现有图像的副本。这是因为如果你使用其他应用软件编辑了引用的照片,「照片」应用会将这些图像识别为已更改,然后将其作为新图像重新导入。

实验和思考

关闭了 iCloud 照片图库然后再打开?

原本我以为照片库多少会智能的识别比对一下云端和本地的照片库,很快就能完成同步动作,但是实际的结果是「 iCloud 照片图库」会重新上传你的照片库,所以在进行这个操作前需要认真考虑。

为了观察关闭后再次打开对 iCloud 照片库所造成的影响,尝试关闭了「iCloud 照片图库」,此时下载到三分之一的任务被打断,由于 iCloud 照片图库的同步任务还没有完成,强行关闭弹出了两个提示:

  • 关闭设备上的「 iCloud 照片图库」并不会丢失你已经传到云端的照片
  • 没有下载到本机的其他照片还是会通过「 iCloud 照片图库」同步到其他开启了「 iCloud 照片图库」的设备上
  • 关闭后再次打开 「 iCloud 照片图库」第一个动作会是先上传当前「系统照片图库」中的照片,这点让人很崩溃。

如果你的设置是「优化储存空间」,设备上可能只有部分原始照片和视频。要在Mac 上下载原始照片和视频,打开「照片 — 偏好设置」选择「 将原件下载到此 Mac」。 同理 iOS 设备上,前往「设置 — iCloud — 照片」选择「下载并保留原件」。

照片都是怎么重复的?

首先我们先排除 iCloud 照片库反复开关是否会导致照片重复的问题排除。

实验验证步骤:

  1. 先打开照片图库停用了「iCloud 照片图库」;
  2. 留下 1 张(这张照片 iCloud 库中已经存在, 1 张能快速完成上传动作)做对照,删除本地图库中的其他照片;
  3. 删除完毕后重新打开「iCloud 照片图库」,不出意料「iCloud 照片图库」会先上传图库中唯一的照片;
  4. 上传完成后,「照片」开始下载 iCloud 照片库云端的内容到本地,最后的结果是并没有重复下载当初留下来的那张 iCloud 云端本来就有的照片。
特别提示:请务必在关闭「iCloud 照片图库」后才删除本地图库中的照片,否则你的行为将同步操作删除云端的照片

场景1:iPhone 通过数据线连接到 Mac ,使用「照片」应用导入照片会重复吗?

使用数据线连接 iPhone 后默认「照片」会打开导入 iPhone 照片的窗口(不想它自动弹出可以去掉「打开『照片』」的勾选)。iPhone 照片导入窗口中会显示两类照片:已导入、新项目。已导入是指当前照片库中已经存在的照片,新项目是当前照片库中还没有的照片。

导入「新项目」中所列出来的照片不会重复,导入「已导入」分类中的照片肯定会造成重复。

场景2:iPhone 上已经启用了 iCloud 照片图库,但是利用 iCloud 同步多张照片时速度肯定没有直接插数据线导入 Mac 来的快。那么问题来了,导入了照片后随后 iCloud 的同步会不会导致照片重复呢?

还有一种类似的情形是 iPhone 上拍完照或者截屏后照片已经同步到 iCloud 照片图库,而随后开机的 Mac 的本地图库还没有来得及和云端完成同步,此时 iPhone 通过数据线连接到 Mac 这些照片出现在「新项目」中。

以上两种情况导入照片都不会造成重复,原则是只要是导入出现在「新项目」分类中的照片都不会导致重复。

哪些原因会导致「重复」照片呢?

  • 由 iMessage、Telegram、微信等IM应用中保存到相册的照片会被照片库视为是新的照片,同一张照片你保存几次就会出现同样的几张;
  • 从「照片」应用中拖拽照片到桌面等于在桌面创建了一个新的副本,如果你再拖拽回照片应用会被视为是一样新的图片,那怕文件名是相同的;
  • 「照片与相机」设置中启用了 HDR 「保留正常曝光的照片」,这会在照片中看到看上去一样的两张,其中一张的左上角有HDR标志;
  • Instagram 的设置中启用了「保存原始照片」,当你用 Instagram 拍照后会保留使用滤镜效果前的原始照片,或者你在 Instagram 中访问照片库编辑过其中的照片结果也一样,最终你会在照片应用里看到很相似的两张。
  • 外部文件夹中的引用照片,引用文件夹中的照片如果被第三方应用编辑过也会被视为是新的照片,导入后会和以前的照片并存。
在「照片」应用官方体系以内的(包括:iCloud 照片图库、通过照片应用的导入的新项目)传递和编辑不会造成重复,但是一旦某张照片在照片应用外部经过发送、复制、传输和编辑那就是一张新的照片。

为什么「iCloud 照片图库」没有立即同步?

照片库在处理我们发出的请求时有它自己的节奏,如果当前正在上传照片,可能需要等到下一个时序才安排执行下载,反过来也是这样,遇到多张照片大数据量的传输请求时,时序周期偏长,这会给人一种 iCloud 不怎么听话的感觉,等你不再关注它下次再看又莫名其妙的同步好了。

验证方式:当照片库正在执行大批量的下载任务时,我们往 Mac 的照片库里导入一张照片,看看什么时候这张照片什么时候能上传完毕。

这里选择下载照片库而不是上传是因为下载更直观,不难想象「照片」里显示正在上传 3000+ 和正在下载 3000+ 会给人什么不同的感受,还有就是因为国内网络下载的速度比上传快很多,也能给实验带来可操作性。

首先创建一个新的空的照片库(按住 Option 键再打开「照片」应用选「新建」)。打开这个新的照片库以后在偏好设置中将它设置为「用作系统照片图库」,此时照片库中什么都没有,直到我们在偏好设置中勾选上「iCloud 照片图库」,照片就开始刷刷的下载下来。

「照片」同步下载 iCloud 照片图库会持续相当长一段时间,此时导入一张照片,看看什么时候能同步上传到 iCloud 并显示在另一个启用「iCloud 照片图库」的设备上。

感觉等待的时间比每次升级所遇到的 「Apple 最后1分钟」还要长,界面上一直显示的是「正在上传」, iPhone 也没有看到下载这张照片。当我们失去耐心关闭程序将焦点切换到其他桌面,先忙点别的随后再打开照片应用(照片后台进程重新变的活跃),这次只用了很短的时间上传的任务被优先完成,完成上传后继续没有完成的下载任务。这种结果就好像是「照片」很不乐意你盯着它干活一样,虽然最终一定会完成,可时间上没谱。


很多时候 iCloud 一系列的服务都是因为网络速度严重降低了用户端的体验,但在存储安全性和方便性上还是值得肯定和推荐的,网络速度的问题也能预见会逐步得到改善。所以大可不必因噎废食,该怎么用还怎么用,给它一点时间让它在后台慢慢的前进。

附录 | Apple 关于照片库和照片流的帮助文档: