【发布时间】:2019-09-24 03:48:20
【问题描述】:
我正在尝试实现一个应用,该应用使用用户当前在 iOS 13 上连接的网络的 BSSID。
但是,Apple 的 documentation for CNCopyCurrentNetworkInfo on iOS 13 对其 API 的使用要求并不明确。
它在描述中陈述了以下内容:
请求应用必须满足以下要求之一:
应用使用Core Location,并拥有用户使用位置信息的授权。
应用使用 NEHotspotConfiguration API 来配置当前的 Wi-Fi 网络。
该应用已安装有效的 VPN 配置。
这似乎表明只需要满足上面列出的 3 个要求中的 一个。
然而,它随后指出:
未能满足上述任何要求的应用会收到以下返回值:
与 iOS 12 或更早版本关联的应用会收到包含伪值的字典。本例中SSID为Wi-Fi(或中国地区的WLAN),BSSID为00:00:00:00:00:00。
链接到 iOS 13 或更高版本的应用收到 NULL。
这表明该应用需要满足上述所有要求
这使得要求是什么变得非常混乱,因为前一部分声称您只需要实现这三个中的一个即可获得 BSSID,而后一部分则表明如果您错过了三个要求中的任何一个。
对此的任何帮助将不胜感激!
【问题讨论】:
-
对我来说,您需要“核心位置”权限并设置“访问 WiFi 信息”功能。
-
我拥有位置权限和 WiFi 功能,但仍然没有检索到 SSID。您是否设法在 iOS 13.0 版本中检索到 SSID?
-
@BennyDavidovitz 老实说,我们只需要满足至少一个条件即可工作,这在阅读主题演讲时得到了证实。我尝试更新到 iOS 13.1 测试版并且它再次运行,所以 iOS 13.0 出了什么问题有点神秘
-
@Shinlos 尝试在 iOS 13 版本上运行。我知道测试版很好。您可以在此讨论 (github.com/HackingGate/iOS13-WiFi-Info/issues/7) 中看到我不是那个疯子。
-
更新:重启 iOS 设备解决了它(不仅仅是我)
标签: ios iphone react-native ios13