1.iOS 13 獲取wifi名稱需要先獲取一下位置信息烦味,可能是蘋果對(duì)用戶隱私的保護(hù)
NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];
??CGFloat version = [phoneVersion floatValue];
??// 如果是iOS13 未開啟地理位置權(quán)限 需要提示一下
??if([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined && version >= 13) {
????self.locationManager = [[CLLocationManager alloc] init];
????[self.locationManager requestWhenInUseAuthorization];
??}
2.工程文件導(dǎo)入
#import?<SystemConfiguration/CaptiveNetwork.h>
3.實(shí)現(xiàn)如下方法瞻惋,可返回wifi名稱
- (NSString *)currentWifiSSID
{
? ? NSString*ssid =nil;
? ? NSArray *ifs = (__bridge? id)CNCopySupportedInterfaces();
? ? for(NSString*ifnameinifs) {
? ? ? ? NSDictionary*info = (__bridgeid)CNCopyCurrentNetworkInfo((__bridgeCFStringRef)ifname);
? ? ? ? if(info[@"SSID"])
? ? ? ? {
? ? ? ? ? ? ssid = info[@"SSID"];
? ? ? ? }else{
? ? ? ? ? ? if(info[@"SSIDD"])
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ssid = info[@"SSID"];
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? returnssid;
}