好久沒(méi)寫(xiě)一些分享了靠胜、剛好今天有做到以前的一個(gè)項(xiàng)目突然發(fā)現(xiàn)iOS12更新后 當(dāng)初iOS9系統(tǒng)獲取wifi的方法不能用了、或者說(shuō)獲取ssid為空。著急用就忙著看了一下官網(wǎng)文檔發(fā)現(xiàn)好像復(fù)雜了好多浪漠! iOS9之后回去wifi名稱(chēng)的幾個(gè)步驟:
1.向 Apple 申請(qǐng)開(kāi)發(fā) Network Extension 權(quán)限陕习;
? ? ? 寫(xiě)封郵件給 networkextension@apple.com ,向蘋(píng)果要開(kāi)發(fā) Network Extension 的權(quán)限址愿。申請(qǐng)郵件內(nèi)容如下所示该镣,僅供參考:
Hi, I am a personal developer on ios9, I am using xcode8.0 to develop app, AppleID:XXXXXXXXXX, I want to get SSID and BSSID and RSSI by scanning near WiFi, I hope to get the NetworkExtension permission, please approve!
蘋(píng)果收到郵件后會(huì)自動(dòng)回復(fù)郵件,然后根據(jù)蘋(píng)果回復(fù)的郵件提供的鏈接响谓,打開(kāi)連接根據(jù)選項(xiàng)逐一填寫(xiě)损合,然后提交之后14天左右就可以收到蘋(píng)果的確認(rèn)回復(fù)郵件。
2.申請(qǐng)包含Network Extension?的描述文件娘纷;
申請(qǐng)獲取WiFi權(quán)限通過(guò)之后嫁审,需要進(jìn)入開(kāi)發(fā)者賬號(hào)里面配置創(chuàng)建Network Extension的描述文件,配置成功之后點(diǎn)擊下載失驶,下載完成雙擊打開(kāi)描述文件土居。
3.配置Info.plist;
4.配置entitlements擦耀;
5.?導(dǎo)入頭文件:
? ? ?#import <NetworkExtension/NetworkExtension.h> ?
代碼實(shí)現(xiàn):
?_wifiName = @"Not Found";
? ? NSArray *ifs = CFBridgingRelease(CNCopySupportedInterfaces());
? ? idinfo =nil;
? ? for(NSString*ifnameinifs) {
? ? ? ? info = (__bridge_transferid)CNCopyCurrentNetworkInfo((CFStringRef) ifname);
? ? ? ? if(info && [infocount]) {
? ? ? ? ? ? break;
? ? ? ? }
? ? }
? ? NSDictionary *dic = (NSDictionary *)info;
? ? _wifiName = [[dic objectForKey:@"SSID"] lowercaseString];