升级iOS部署目标后Flutter Local Network权限检测失败求助
问题解答
iOS新版本Local Network权限的额外要求
- iOS 15及后续版本,除了在
Info.plist中配置NSLocalNetworkUsageDescription(说明使用Local Network的原因),必须添加NSBonjourServices数组,声明App实际用到的Bonjour服务类型(例如_http._tcp.、_udp._udp.)。若未正确声明,即便用户已授权Local Network权限,系统仍会判定App无相关使用需求,导致permission_handler返回错误的权限状态。 - 升级部署目标后,需确保使用最新版本的
permission_handler,旧版本可能未适配iOS 15+的权限检测逻辑,无法正确识别已授权的Local Network权限。 - 若App涉及WiFi扫描操作,除Local Network权限外,还需配置位置权限相关的
Info.plist键(NSLocationWhenInUseUsageDescription),部分场景下系统会关联位置权限与WiFi操作的权限判定。
Flutter iOS连接WiFi接入点的推荐库
- flutter_wifi_connect:对iOS 14+兼容性优异,适配现代WiFi连接API,API设计简洁,能自动处理权限申请流程,支持连接指定SSID的WiFi网络。
- wifi_flutter:提供扫描WiFi列表、连接/断开WiFi的完整功能,适配iOS最新权限要求,社区维护活跃,问题反馈响应及时。
- 若需更底层的网络控制,可结合
network_info_plus(获取网络状态信息)与少量原生代码实现,但常规场景下上述专用WiFi连接库已足够满足需求。注意:iOS 13+系统不支持静默连接WiFi,任何库都需引导用户确认连接操作。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

