美文网首页
iOS 13 CNCopyCurrentNetworkInfo

iOS 13 CNCopyCurrentNetworkInfo

作者: 景彧 | 来源:发表于2019-10-08 17:50 被阅读0次
    1.开发者网站中配置证书,开启Access Wi-Fi Information功能;
    2.工程配置;
    工程配置-1.png 工程配置-2.png
    3.申请获取手机定位权限;
    4.获取Wi-Fi信息;
    代码实现:
    
    #import "ViewController.h"
    #import <CoreLocation/CoreLocation.h>
    #import <SystemConfiguration/CaptiveNetwork.h>
    
    @interface ViewController () <CLLocationManagerDelegate>
    
    @property (nonatomic, strong) CLLocationManager *locationManager;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // 申请获取手机定位权限
        if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorizedWhenInUse) {
            self.locationManager = [[CLLocationManager alloc] init];
            self.locationManager.delegate = self;
            [self.locationManager requestWhenInUseAuthorization];
        } else {
            [self getSSID];
        }
    }
    
    // 获取Wi-Fi信息
    - (NSString *)getSSID {
        NSString *ssid = nil;
        NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
        for (NSString *ifnam in ifs) {
            NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
            if (info[@"SSID"]) {
                ssid = info[@"SSID"];
            }
        }
        return ssid;
    }
    
    #pragma mark - CLLocationManagerDelegate
    
    - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
        if (status == kCLAuthorizationStatusAuthorizedWhenInUse) {
            [self getSSID];
        }
    }
    
    @end
    
    

    相关文章

      网友评论

          本文标题:iOS 13 CNCopyCurrentNetworkInfo

          本文链接:https://www.haomeiwen.com/subject/njijuctx.html