macOS防火墙会拦截AirPlay所需的mDNS组播通信(5353/UDP),导致控制中心搜不到投屏设备;临时关闭防火墙可验证问题,确认后应启用“自动允许已下载的签名应用”并重启mDNSResponder服务。
macos 自带防火墙可能拦截 airplay 设备发现所需的组播通信(如 mdns),导致控制中心里搜不到电视、apple tv 或其他投屏接收端。这不是软件故障,而是系统级网络策略主动阻断了本地设备广播和响应。
确认是否是防火墙导致的问题
先做快速验证:临时关闭 macOS 防火墙,再打开控制中心 → 屏幕镜像,看设备是否立刻出现。
- 路径:「系统设置」→「隐私与安全性」→「防火墙」→ 点击「关闭防火墙」
- 若关闭后能搜到设备,说明问题定位准确;测试完记得重新开启防火墙,并添加放行规则
放行 AirPlay 相关服务(推荐方式)
不建议长期关闭防火墙。更稳妥的做法是让防火墙允许 AirPlay 所需的底层服务通行:
- AirPlay 依赖 mDNS(端口 5353/UDP)进行设备广播与发现,还需 Bonjour 服务支持
- 确保「系统设置」→「隐私与安全性」→「防火墙」→「防火墙选项…」中勾选了「自动允许已下载的签名应用通过防火墙」
- 如果使用第三方安全软件(如 Little Snitch、Intego),需单独为其添加规则,允许 systemsetup、discoveryd(旧系统)或 mDNSResponder(新系统)进程通过防火墙
检查并重启 Bonjour 服务
Bonjour 是 macOS 实现 AirPlay 发现的核心组件,有时会卡死或未加载:
- 打开「终端」,依次执行以下命令(无需密码):
- sudo killall -HUP mDNSResponder(强制刷新 DNS 和设备发现服务)
- 等待 10 秒,再打开控制中心尝试搜索
- 如仍无效,可重启 Mac,系统会自动重载完整服务栈
补充验证点(排除干扰)
即使防火墙放行,其他设置也可能掩盖真实原因:
- 确认 Wi-Fi 设置中未启用「限制广告跟踪」或「私有地址」——部分路由器对私有 MAC 地址设备限制组播
- 在「系统设置」→「显示器」中检查「隔空播放接收器」是否设为「同一网络上的任何人」
- 用 iPhone 打开「快捷指令」,运行「获取当前 Wi-Fi 名称」,对比 Mac 的 Wi-Fi 名称是否完全一致(含大小写、空格、隐藏字符)


















