因为iOS14之后,获取Wi-Fi信息的时候必须开启定位权限,不然无法获取到Wi-Fi信息,这个坑我也是找了好久。希望能帮到遇到同样问题的道友。
一定要在plist文件内添加这个键值对,不然还是无法获取Wi-Fi信息
if (@available(iOS 14.0, *)) {
BOOL isFullAccuracy = self.localmanager.accuracyAuthorization == CLAccuracyAuthorizationFullAccuracy;
if (!isFullAccuracy) {
// 向用户申请临时开启一次精确位置权限
[self.localmanager requestTemporaryFullAccuracyAuthorizationWithPurposeKey:@"WantsToGetWiFiSSID"];
}
[NEHotspotNetwork fetchCurrentWithCompletionHandler:^(NEHotspotNetwork * _Nullable currentNetwork) {
self.detail.ssid = currentNetwork.SSID;
self.detail.mac = currentNetwork.BSSID;
self.nameLb.text = currentNetwork.SSID;
}];
}else{
//获取当前所连接Wi-Fi数据
CFArrayRef myArray = CNCopySupportedInterfaces();
if(myArray !=nil) {
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
if(myDict !=nil) {
NSDictionary*dict = (NSDictionary*)CFBridgingRelease(myDict);
NSLog(@"wifi的信息%@",dict);
ssid = [dict valueForKey:@"SSID"];
self.detail.ssid = ssid;
self.nameLb.text = ssid;
self.detail.mac = [dict valueForKey:@"BSSID"];
}
}
}