iOS12以后蘋果為了加強app對於系統隱私的威脅的安全問題,特別要求開發者增加申請步驟
第一步,開發項目的Bundle identifier必須是付費的ID號在證書生成填寫時
要選擇獲取Wi-Fi權限的選項
第二步,開發時必須使用擁有該權限的Bundle identifier去開發,還要開啟該權限,如圖
第三步就是調用老式的獲取SSID(就是Wi-Fi名字的代碼)
導入頭文件: #import <NetworkExtension/NetworkExtension.h> //實現部分 - (void)getWifiList { if (![[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) {return;} dispatch_queue_t queue = dispatch_queue_create("com.leopardpan.HotspotHelper", 0); [NEHotspotHelper registerWithOptions:nil queue:queue handler: ^(NEHotspotHelperCommand * cmd) { //kNEHotspotHelperCommandTypeFilterScanList:表示掃描到 Wifi 列表信息。 if(cmd.commandType == kNEHotspotHelperCommandTypeFilterScanList) { //NEHotspotNetwork 里有如下信息:SSID:Wifi 名稱;BSSID:站點的 MAC 地址;signalStrength: Wifi信號強度,該值在0.0-1.0之間;secure:網絡是否安全 (不需要密碼的 Wifi,該值為 false);autoJoined: 設備是否自動連接該 Wifi,目前測試自動連接以前連過的 Wifi 的也為 false ;justJoined:網絡是否剛剛加入;chosenHelper:HotspotHelper是否為網絡的所選助手 for (NEHotspotNetwork* network in cmd.networkList) { NSLog(@“+++++%@“,network.SSID); } } }]; }
參考:https://blog.csdn.net/CC1991_/article/details/80540858