在 macOS 中,使用 Safari 和 Chrome 下载的文件默认保存在用户主文件夹中的“下载”目录中。macOS 还接受来自 AirDrop 的文件,这些文件通常也保存到主文件夹中的“下载”目录中。
但该目录不受 iCloud Drive 管理,因此默认情况下其内容不会自动同步到其他设备。
为了解决这个问题,我尝试备份“下载”目录中的文件,然后创建指向它的符号链接,如下所示:
rm -rf ~/Downloads
ln -sf ~/Library/Mobile\ Documents/com\~apple\~CloudDocs/Downloads ~/Downloads
这种方法允许从 Safari 或 Chrome 下载的文件与 iCloud Drive 和其他设备同步。然而,这也导致了一个新问题:AirDrop 不再起作用。具体来说,其他设备(例如 iPhone)可以在 AirDrop 中看到 macOS 设备,并且当选择时,macOS 会发出相应的声音并打开“~/Downloads”目录(在本例中为符号链接)。但是,AirDrop 传输的目标文件不存在。
有没有办法让 iCloud Drive 管理和同步“下载”目录,同时允许 AirDrop 正常工作?
找到了一种方法来做到这一点。
Automator.app
Folder Action
。Folder Action receives files and folders added to
顶部应该有一个下拉菜单。现在~/Downloads
从此下拉菜单中进行选择。Move Finder Items
,然后将其拖放到右侧的工作流程窗口中。Move Finder Items
操作中,选择目标文件夹,例如~/Library/Mobile Documents/com~Apple~CloudDocs/Downloads
。Command + S
。从现在开始,每当您将文件放入源文件夹(例如 )中时,
~/Downloads
Automator 都会将该文件移动到目标文件夹(例如 )中~/Library/Mobile Documents/com~Apple~CloudDocs/Downloads
。您无需按任何键或启动任何实用程序;这一切都是自行发生的。