獲取iOS設(shè)備WiFi名字和mac地址+iOS12系統(tǒng)獲取失敗解決

好久沒寫一些分享了、剛好今天有做到以前的一個(gè)項(xiàng)目突然發(fā)現(xiàn)iOS12更新后 當(dāng)初iOS9系統(tǒng)獲取wifi的方法不能用了、或者說獲取ssid為空。著急用就忙著看了一下官網(wǎng)文檔發(fā)現(xiàn)好像復(fù)雜了好多! iOS9之后回去wifi名稱的幾個(gè)步驟:

1.向 Apple 申請(qǐng)開發(fā) Network Extension 權(quán)限;

? ? ? 寫封郵件給 networkextension@apple.com ,向蘋果要開發(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!

蘋果收到郵件后會(huì)自動(dòng)回復(fù)郵件,然后根據(jù)蘋果回復(fù)的郵件提供的鏈接,打開連接根據(jù)選項(xiàng)逐一填寫,然后提交之后14天左右就可以收到蘋果的確認(rèn)回復(fù)郵件。

2.申請(qǐng)包含Network Extension?的描述文件;

申請(qǐng)獲取WiFi權(quán)限通過之后,需要進(jìn)入開發(fā)者賬號(hào)里面配置創(chuàng)建Network Extension的描述文件,配置成功之后點(diǎn)擊下載,下載完成雙擊打開描述文件。

3.配置Info.plist;

打開項(xiàng)目,在Xcode的Info.plist中Required background modes?添加一個(gè)network-authentication(item)

4.配置entitlements;

?在Xcode的Info.plist中Entitlements File下添加一個(gè)鍵值對(duì): com.apple.developer.networking.HotspotHelper -> YES

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];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容