macos本地网络权限独立于互联网连接,专控app发现和连接局域网设备(如打印机、智能家居),自catalina起由隐私框架管理,需用户显式授权;路径为系统设置→隐私与安全性→本地网络,列表中可开关各app权限。
macos 对本地网络访问的控制,是独立于一般互联网连接的专项权限,专门用于限制 app 发现和连接同一局域网内设备(如打印机、智能家居、nas、airplay 接收器等)的能力。它不控制上网本身,而是管“能不能看到并连上隔壁的 iphone 或家里的路由器”。这个权限自 macos catalina(10.15)起引入,由系统隐私框架统一管理,需用户显式授权。
在哪设置本地网络权限
路径明确且固定:
- 打开系统设置(或系统偏好设置,视版本而定)
- 进入隐私与安全性 → 向下滚动找到并点击本地网络
- 列表中显示所有曾请求该权限的 App,每个条目右侧有开关
哪些 App 会触发此权限请求
并非所有联网 App 都需要它。只有主动执行以下行为的应用才会弹出授权提示:
- 使用 Bonjour/mDNS 协议广播或发现服务(如 AirDrop、HomeKit 配件、Samba 文件共享客户端)
- 扫描局域网 IP 段(如网络诊断工具、远程桌面助手、某些备份软件)
- 通过 Multicast DNS 解析 .local 域名(例如访问 http://myprinter.local)
- 调用 Network.framework 中的 NWBrowser 或 NSNetServiceBrowser 类
浏览器、邮件客户端、即时通讯软件等常规应用通常不触发——它们走的是标准 TCP/IP 出站连接,不需要“发现本地设备”。
权限被拒绝后会发生什么
系统不会阻止 App 上网,但会切断其局域网感知能力:
- Home app 可能显示“无法连接到配件”,即使设备在同一 Wi-Fi 下
- AirDrop 接收方列表为空,或无法被他人看见
- 文件共享浏览失败,提示“找不到服务器”而非认证错误
- 第三方 NAS 管理工具无法自动发现设备,需手动输入 IP
- 日志中可能记录 sandboxd 拒绝:deny network-outbound … subsystem: com.apple.networking.bonjour
高级控制与排查建议
若标准开关无效,可结合其他机制协同判断:
- 检查 App 是否沙盒化:沙盒 App 必须在 entitlements 中声明
<key>com.apple.security.network.local</key><true></true>,否则即使用户开启开关也无效 - 终端验证:运行
sudo log show --predicate 'subsystem == "com.apple.networking.bonjour"' --last 1h查看实际 mDNS 活动 - 临时重置:用
tccutil reset LocalNetwork清空所有授权记录(需重启 App 后重新触发请求) - 企业部署:管理员可通过 MDM 配置描述文件预设
LocalNetwork权限策略,强制开启/关闭或禁止用户修改











