解决iOS13 无法获取WiFi名称(SSID)问题
程序员文章站
2022-10-12 15:26:57
升级到ios13以后,发现之前获取wifi名称的接口失效了,返回的都是固定值"wlan"。这里可能是因为苹果对用户隐私保护问题,因为通过wifi信息可以定位到用户地理位置。所以ios1...
升级到ios13以后,发现之前获取wifi名称的接口失效了,返回的都是固定值"wlan"。这里可能是因为苹果对用户隐私保护问题,因为通过wifi信息可以定位到用户地理位置。所以ios13以后如果想要继续获取wifi名称,需要在调用接口前判断用户是否同意app使用地理位置信息。
我这里只在第一次使用时提示:
nsstring* phoneversion = [[uidevice currentdevice] systemversion]; cgfloat version = [phoneversion floatvalue]; // 如果是ios13 未开启地理位置权限 需要提示一下 if ([cllocationmanager authorizationstatus] == kclauthorizationstatusnotdetermined && version >= 13) { self.locationmanager = [[cllocationmanager alloc] init]; [self.locationmanager requestwheninuseauthorization]; }
知识点扩展:
ios 获取当前的wifi名称
1.工程头文件导入
#import <systemconfiguration/captivenetwork.h>
2.实现如下代码,即可返回当前连接的网络名称
- (nsstring *)currentwifissid { nsstring *ssid = nil; nsarray *ifs = (__bridge id)cncopysupportedinterfaces(); for (nsstring *ifname in ifs) { nsdictionary *info = (__bridge id)cncopycurrentnetworkinfo((__bridge cfstringref)ifname); if (info[@"ssidd"]) { ssid = info[@"ssid"]; } } return ssid; }
总结
以上所述是小编给大家介绍的解决ios13 无法获取wifi名称(ssid)问题,希望对大家有所帮助
上一篇: 面包的营养价值,面包的好处竟然有这么多,这些年来总算没有白吃
下一篇: 玉皇大帝和如来佛谁大的真相