如何在macOS上将「Downloads」文件夹同步至iCloud Drive且不破坏AirDrop功能?
如何在macOS上将「Downloads」文件夹同步至iCloud Drive且不破坏AirDrop功能?
我之前也踩过一模一样的坑!用软链接把Downloads指向iCloud目录后,AirDrop明明能触发接收提示、打开目录,但文件就是凭空消失——本质原因是AirDrop对目标目录有特殊要求,它需要的是系统识别为「真实本地文件夹」的路径,而软链接(符号链接)会被系统判定为「文件」,导致传输过程中无法正确写入数据。
下面是亲测有效的解决方案,用「绑定挂载」替代软链接,既能让Downloads同步到iCloud,又能让AirDrop正常工作:
步骤1:备份数据(重中之重!)
先把本地~/Downloads里的所有文件复制到外接硬盘或其他安全位置,避免操作过程中数据丢失。
步骤2:整理iCloud Drive中的Downloads目录
- 打开Finder,进入「iCloud Drive」,创建一个名为
Downloads的文件夹(已经存在就跳过这步)。 - 把本地
~/Downloads里的所有文件移动到iCloud Drive的这个Downloads文件夹中。 - 删除本地原来的
~/Downloads文件夹。
步骤3:创建临时绑定挂载(先测试功能)
绑定挂载会让系统把iCloud里的Downloads文件夹「映射」到本地~/Downloads路径,系统会完全把它当作真实的本地文件夹。
- 打开「终端」,执行以下命令(输入密码时终端不会显示字符,正常输入即可):
sudo mount -o bind ~/Library/Mobile\ Documents/com\~apple\~CloudDocs/Downloads ~/Downloads - 测试功能:用iPhone给Mac传个AirDrop文件,现在应该能正常接收并保存到
~/Downloads,同时文件会自动同步到iCloud Drive。
步骤4:设置开机自动挂载(可选但推荐)
上面的临时挂载重启后会失效,我们把它加入系统配置,让每次开机自动生效:
- 在终端执行命令编辑
/etc/fstab文件:sudo nano /etc/fstab - 在文件末尾添加一行内容:
~/Library/Mobile\ Documents/com\~apple\~CloudDocs/Downloads ~/Downloads none bind 0 0 - 按下
Control+O保存文件,回车确认文件名,再按Control+X退出编辑器。 - 执行以下命令让配置立即生效:
sudo mount -a
注意事项
- 如果之前创建过软链接,一定要先用
rm -rf ~/Downloads彻底删除,再执行绑定挂载操作。 - 确保iCloud Drive处于正常同步状态,没有暂停、存储空间不足或报错的情况。
- 后续如果要取消绑定挂载,可执行
sudo umount ~/Downloads,再删除/etc/fstab中对应的行即可。
备注:内容来源于stack exchange,提问作者Ch'en Meng




