当前位置: 首页 > ds >正文

iOS 获取Wifi信息

背景

智能硬件入网的时候,硬件端通常需要通过 WiFi入网,这种情况,可能需要App获取 WiFi信息,来做 WiFi 匹配,同时也可以减少用户填写的信息。

智能硬件 WiFi 入网方式

  • 利用 HomeKit 流程入网,然后利用 Boujour 绑定设备
  • App连接硬件 WiFi,将有网 WiFi 的信息通过 http 或者蓝牙方式发送给硬件(需要用户选择 wifi,且可能有网 WiFi 是硬件不支持的,比如部分硬件不支持5G WiFi)

部分智能硬件也具备扫描 WiFi 的功能,App可以获取硬件扫描到的 WiFi 列表,让用户选择,再传递给硬件,可以避免有网 WiFi 硬件不支持的问题。

获取当前手机 WiFi 连接信息

Capabilities权限:Access WiFi Infomation开关需要打开

如果没有连接 WiFi 则返回 nil

Objective-c 示例代码

- (NSString*)currentWifiName
{NSArray* ifs = (__bridge_transfer id)CNCopySupportedInterfaces();id info = nil;for (NSString* ifnam in ifs)   {info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);if (info && [info count])break;}return info[@"SSID"]; // 同理 获取 mac 地址为 return info[@"BSSID"];
}

输出 WiFi 信息如下

{BSSID = "e4:2a:8b:4c:e4:12";SSID = "xxxx";SSIDDATA = {length = 13, bytes = 0x4d65726f73735f4150505f3547};  // 转为字符串 和 wifi名字一样
}

Swift 示例代码,iOS14+ 采用 NetworkExtension

import Foundation
import SystemConfiguration
import SystemConfiguration.CaptiveNetworkimport NetworkExtension/// 手机 WiFi 信息
@objc
class WifiInformation: NSObject {private func wifiInformation() -> [String: Any]? {guard let interfaces = CNCopySupportedInterfaces(), let array = CFBridgingRetain
http://www.xdnf.cn/news/10072.html

相关文章:

  • 重温经典算法——冒泡排序
  • 国产分子动力学引擎——GPUMD本地部署教程:专为 NVIDIA GPU 加速设计
  • leetcode:372. 超级次方(python3解法,数学相关算法题)
  • litctf2025复现
  • [mcu]系统频率
  • 【GESP真题解析】第 16 集 GESP 二级 2024 年 9 月编程题 1:数位之和
  • LangChain 和 LangChain-ChatChat 的区别
  • 【题解-洛谷】B4295 [蓝桥杯青少年组国赛 2022] 报数游戏
  • Java 中的接口(Interface)与抽象类(Abstract Class)详
  • MCP(模型上下文协议)深度解析:一篇文章彻底理解
  • magic-api配置Git插件教程
  • 重工业专属:Profibus转Profinet网关在矿石粉料输送线中的定制化方案
  • 国产 BIM 软件万翼斗拱的技术突破与现实差距 —— 在创新与迭代中寻找破局之路
  • fiddler怎么抓苹果手机的包
  • 微小店推客系统开发:技术赋能流量裂变,SEO驱动精准获客
  • 14.Java反射机制:解锁动态编程的魔法之门
  • cadence PCB 精度设置成小数点4位方法
  • 如何给老旧 iOS App 添加安全保护?用 Ipa Guard 对 IPA 文件混淆加固实录
  • 计算机毕业设计酒店后台管理系统(vue+springboot+mysql+开题+论文)
  • 【按升序输出三个数】2022-2-2
  • Linux的SHELL脚本中的常用命令
  • JMeter 是什么
  • LoadRunner 是什么
  • 捌拾陆- 海森堡不确定性原理
  • lwip_setsockopt设置地址复用出错(lwip默认不打开,lwip_bindu也会提示端口被占用)
  • 怎么选择合适的高防IP
  • DeepSeek R1-0528 新开源推理模型(免费且快速)
  • git 本地合并怎么撤回
  • 2025.5.26【ZR NOI模拟赛 T2】草莓函数 题解(性质,二分图最大权匹配)
  • Langchain4j AIService (2)