国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS 12中無法獲取WiFi的SSID了?別慌看這里!

2019-10-21 18:39:41
字體:
來源:轉載
供稿:網友

前言

SSID全稱Service Set IDentifier, 即Wifi網絡的公開名稱.在IOS 4.1以上版本提供了公開的方法來獲取該信息.

但是最近,Apple于北京時間9月17日晚在官網發布了Xcode 10正式版,QiShare團隊成員于9月18日中午統一升級以對現有項目做適配。期間,作者發現某項目使用Xcode 10編譯出的App在iOS 12中無法獲取WiFi的SSID。

敲黑板:獲取WiFi的SSID是智能硬件App中配網模塊的常用功能,各大廠商要針對iOS 12適配一波了(@huawei.com; @mi.com; @360.com; @jd.com; @baidu.com; @orvibo.com; @scinan.com; ...)。

獲取WiFi的SSID的方法如下:

+ (NSString *)wifiSSID {  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;}

在iOS 12中,經斷點調試發現info為nil。猜測是CNCopyCurrentNetworkInfo方法在iOS 12中有了變化。通過查看官方文檔,發現文檔中增加了Important字樣的描述:

iOS12,WiFi,SSID

CNCopyCurrentNetworkInfo文檔

Important
To use this function in iOS 12 and later, enable the Access WiFi Information capability for your app in Xcode. When you enable this capability, Xcode automatically adds the Access WiFi Information entitlement to your entitlements file and App ID.

重要描述
在iOS 12+中使用此方法需要在Xcode中為應用授權獲取WiFi信息的能力。授權后,Xcode會自動在App ID和應用的權限列表中增加獲取WiFi信息的權限。

解決方法

看到這里,解決方案就有了:Xcode -> [Project Name] -> Targets -> [Target Name] -> Capabilities -> Access WiFi Information -> ON

iOS12,WiFi,SSID

解決方案步驟圖示

按照上述方案操作完畢后,會發現工程的.entitlements文件中多了一對Key-Value:

iOS12,WiFi,SSID

.entitlements文件

至此,就能在iOS 12+中正常獲取到WiFi的SSID了。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

級別: ★☆☆☆☆

標簽:「iOS 12」「SSID」「Access WiFi Information」「CNCopyCurrentNetworkInfo」

作者: Xs·H

審校: QiShare團隊


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪洞县| 文成县| 甘泉县| 临桂县| 赤城县| 甘德县| 胶州市| 乐清市| 克东县| 沾化县| 宜川县| 策勒县| 广东省| 邢台市| 高邑县| 肇州县| 通州区| 丹江口市| 凌云县| 定边县| 云安县| 辰溪县| 介休市| 泌阳县| 宁都县| 锦屏县| 寿宁县| 玛多县| 遵化市| 安阳县| 民县| 谷城县| 长海县| 栾川县| 兴文县| 自贡市| 同仁县| 武山县| 普定县| 神木县| 介休市|