iOS 怎样获取wifi名(无法获取wifi名)(亲测有效)

1.代码实现

#import "ViewController.h"
#import <SystemConfiguration/SystemConfiguration.h>
#import <SystemConfiguration/CaptiveNetwork.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    
    
    [super viewDidLoad];
    // Do any additional setup after loading the view.
   NSString *wifiName =  [self getWifi];
    NSLog(@"%@",wifiName);
}

- (id)getWifi {
    
    
    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;
        }
    }
    NSLog(@"%@",info);
    return info[@"SSID"];
}

@end

打印结果:
2020-08-05 08:41:07.089798+0800 wifiName[573:112951] {
BSSID = “dc:fe:18:69:f:8c”;
SSID = “Linxbot_5G”;
SSIDDATA = <4c696e78 626f745f 3547>;
}
2020-08-05 08:41:07.090151+0800 wifiName[573:112951] Linxbot_5G

Linxbot_5G为手机当前连接上的wifi名

2.iOS12后要求在开发者网站的App ID Configuration和Xcode中打开wifi开关

  • 在开发者网站的Identifiers选中当前app的idenfify。
  • 在Edit your App ID Configuration中勾上Access WiFi information.点击save
  • 然后重新生成改app的Profiles(配置文件)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.ios13后要求用户授权开启定位权限,才能获取wifi名

ios13无法获取wifi名(SSID)(亲测有效)

猜你喜欢

转载自blog.csdn.net/baidu_40537062/article/details/107806277