You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter iOS端如何触发本地网络访问权限弹窗及查询权限状态

iOS本地网络权限触发与查询方案

iOS 14及以上版本引入了本地网络权限限制,未授权时App无法访问局域网内的其他设备,具体实现方法如下:

  • 触发权限弹窗:系统不会主动弹出权限申请窗口,只有当App主动执行本地网络访问操作时才会触发,可行的操作包括:向本地网段发送UDP广播、发起mDNS服务发现请求、尝试连接本地子网内的非回环IP地址。

注意:需要提前在iOS项目的Info.plist中添加NSLocalNetworkUsageDescription字段,填写权限使用说明,否则触发请求时App会直接崩溃。

  • 查询权限状态:可以通过两种方式实现:
    1. 调用iOS原生NWPathMonitor相关API直接查询权限状态,该方式准确度最高
    2. 间接判断:尝试发送本地广播后检查是否有访问受限相关的错误返回,若存在则代表权限未授予
  • Flutter侧实现方案:
    目前官方permission_handler包暂不支持本地网络权限的相关操作,你可以通过自定义MethodChannel桥接原生iOS侧的逻辑实现对应的功能:
    1. 在iOS原生层封装权限触发、状态查询的方法
    2. 在Flutter层通过通道调用对应方法获取结果即可

对应的权限弹窗和设置页效果如下:
弹窗
设置中的本地网络权限

内容的提问来源于stack exchange,提问作者Aterus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:30:02