Mac 上 AirDrop 失效:用终端诊断与修复
在 macOS 上逐步用终端修复 AirDrop:检查 awdl0 接口、重启 sharingd、重启无线接口并验证蓝牙状态。
快速开始
当 AirDrop 搜不到附近设备或无法收发文件时,原因通常是三者之一:awdl0 无线接口、sharingd 守护进程,或底层的蓝牙/Wi-Fi 模块。本指南按顺序逐项排查,无需重启电脑即可修复 AirDrop。
症状
检查 AirDrop 无线接口(awdl0)状态
AirDrop 依赖 awdl0(Apple Wireless Direct Link)接口工作,找不到附近设备往往就是这个接口出了问题。查看它的状态和标志位——如果接口不存在或毫无状态显示,说明 AirDrop 背后的无线链路已失效。据此判断接下来是重启守护进程、重启接口,还是进一步排查 Wi-Fi 和蓝牙。
在终端中查看 macOS 上 awdl0(Apple 无线直连链路)接口的状态、标志和地址信息。
$ ifconfig awdl0确认蓝牙工作正常
AirDrop 的设备发现还依赖蓝牙,蓝牙控制器卡死时即使 awdl0 正常,AirDrop 也会失效。生成一份蓝牙报告,确认控制器已列出、已配对设备显示为已连接。如果蓝牙看起来异常或设备不显示,先修复蓝牙(比如重启蓝牙守护进程),AirDrop 往往也随之恢复。
一条命令列出所有已配对的蓝牙设备、是否在线,以及多数设备的剩余电量。
$ system_profiler SPBluetoothDataType重启 sharingd 守护进程
sharingd 是驱动 AirDrop、接力(Handoff)和附近共享的守护进程;一旦卡住,AirDrop 就会莫名失效。结束它是安全的——launchd 会在几秒内自动重新拉起它,无需重启电脑即可获得全新的 sharingd。执行后稍等几秒,再试一次 AirDrop。
执行 sudo killall sharingd 结束共享守护进程,launchd 会自动重新启动它,无需重启电脑即可修复卡死的隔空投送。
$ sudo killall sharingd▾ 撤销
$ No undo needed — launchd automatically relaunches sharingd within seconds.重启 awdl0 接口
如果重启 sharingd 没用,可能是 awdl0 接口本身状态异常。把接口先关闭再重新打开,可以强制 macOS 重建 AirDrop 所用的点对点链路,通常能解决'搜不到附近设备'的问题。执行后等待几秒,让 AirDrop 重新发现设备。
AirDrop 搜不到附近设备时,用 ifconfig 把 awdl0 接口关闭再重新启用。
$ sudo ifconfig awdl0 down && sudo ifconfig awdl0 up▾ 撤销
$ The interface is brought back up by the same command; macOS normally reactivates awdl0 automatically when AirDrop is used again. If needed, run: sudo ifconfig awdl0 up关闭再打开 Wi-Fi
AWDL 依附于 Wi-Fi 硬件,无线模块不稳定时,即使重启了守护进程和接口,AirDrop 仍可能失效。把 Wi-Fi 电源关闭再开启可以重置无线模块。仅在前面的修复无效时才执行,并记得重新打开 Wi-Fi——期间你会短暂断网。
networksetup -setairportpower 可以在终端里直接打开或关闭 Wi-Fi 无线网卡,效果和点菜单栏里的 Wi-Fi 开关一样。
$ networksetup -setairportpower en0 off▾ 撤销
$ networksetup -setairportpower en0 on验证蓝牙与设备发现已恢复
最后再生成一次蓝牙报告作为验证:控制器应正常列出、设备显示为已连接,说明 AirDrop 依赖的无线部分已恢复正常。随后打开 AirDrop,确认能发现附近设备并完成一次测试传输。如果仍看不到设备,回到诊断步骤重新排查。
在终端使用 system_profiler 的 SPBluetoothDataType 输出报告,查看 Mac 蓝牙控制器信息以及所有已连接的蓝牙设备。
$ system_profiler SPBluetoothDataType如何确认已解决
AirDrop 界面重新显示附近设备,且双向测试传输顺利完成;蓝牙报告显示控制器和已连接设备状态正常。
一键全部撤销
上面每一条命令都可以撤销。按此顺序执行即可全部还原。
$ networksetup -setairportpower en0 on
The interface is brought back up by the same command; macOS normally reactivates awdl0 automatically when AirDrop is used again. If needed, run: sudo ifconfig awdl0 up
No undo needed — launchd automatically relaunches sharingd within seconds.执行前请先确认——部分步骤之间可能并非相互独立。
来源
- IFCONFIG Command: Configure a network interface in macOS依据: The ifconfig utility is used to assign an address to a network interface and/or configure network interface parameters.
- system_profiler — hardware reports (macOS man page)依据: SPBluetoothDataType lists connected and paired devices with manufacturer, firmware and battery information.
- networksetup — network configuration tool (macOS man page)依据: Documents -setairportpower <device> on|off to switch the wireless interface power state.
最后验证: 2026-09-21