连接到 Wi-Fi 网络时,获取其所有接入点

While connected to a Wi-Fi network, get all of its access points

在我的数据库中,我正在寻找用于保存 Wi-Fi 网络设置的主键。大多数人指向 SSID+BSSID,但问题在于具有多个接入点的网络。经过进一步调查,到目前为止我发现的最佳解决方案是将多个数据库条目与 SSID+BSSID 链接在一起,如果它们代表相同的网络。

现在的问题是,当您连接到其中一个接入点时,是否可以检索所有接入点的列表?与您连接的网络关联的所有 BSSID 的列表或更简单的列表。

Swift 或 Objective-C 都可以。

我无法在 iOS 中找到检索网络所有接入点的方法。

对于任何好奇的人,我将 SSID+BSSID 存储为主键并将 public IP 作为另一个字段。

如果该条目不存在,我将其添加并检查具有相同 IP 的其他条目,并将它们 link 放在一起。 如果条目确实存在,我会检查 IP 自上次以来是否没有更改,因为 public IP 可以是动态的。如果有,我将使用旧 IP 的所有条目更新为新 IP。

它仍然不是一个完美的解决方案。它不包括您转到网络的新接入点并且该网络的 public IP 已更改的情况,尽管如果您返回第一个接入点它会在某种程度上自行修复。另外,一般情况下,有多个接入点的地方也往往有静态IP,所以这种情况可能是非常特殊的。