美文网首页
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