iOS 11/12/13/14如何获取WiFi安全类型?iOS15已有对应API
iOS 11-14 获取WiFi安全类型的方法
在iOS 11至14系统中,苹果没有提供像iOS 15那样的公开枚举属性securityType来直接获取WiFi安全类型,但可以通过以下方式实现:
使用
CNCopyCurrentNetworkInfo结合权限配置- 首先在Xcode中开启
Access WiFi Information权限(可通过Capabilities面板配置,或手动编辑entitlements文件添加com.apple.developer.networking.wifi-info权限)。 - 通过
CNCopyCurrentNetworkInfo接口获取当前连接的WiFi信息字典,其中包含安全类型对应的字段:
#import <SystemConfiguration/CaptiveNetwork.h> NSDictionary *currentWiFiInfo = CNCopyCurrentNetworkInfo(kCNNetworkInfoKeySSID); if (currentWiFiInfo) { NSString *securityType = currentWiFiInfo[kCNNetworkInfoKeySecurityType]; // 安全类型字符串示例:WPA2PSK、WPA3SAE、WEP等 }注意:该接口仅能获取当前已连接的WiFi网络信息,若设备未联网或用户未授权,会返回
nil;返回的安全类型是字符串格式,需要自行与具体的安全标准(如WPA2、WPA3)做映射匹配。- 首先在Xcode中开启
关于
NEHotspotHelper的说明
苹果的NEHotspotHelper框架也能获取WiFi安全类型,但该框架需要向苹果申请特殊权限(com.apple.developer.networking.HotspotHelper),仅对特定类型的开发者开放,普通开发者无法使用。
内容的提问来源于stack exchange,提问作者Narendar Singh Saini
相关产品推荐
相关产品推荐

