iPhone获取所有没有私有库的SSID列表

gru*_*rnd 33 iphone bssid ssid ios

是否可以在不使用私有库的情况下获取iPhone上所有可用SSID 的列表

我在没有私有库的情况下阅读iPhone获取SSID,这是关于获取有关当前网络的详细信息.

这个答案提到:

如果您越狱设备,您可以使用Apple80211私有框架查找可用的Wi-Fi网络及其信号强度.但这也意味着您的应用会被拒绝.

Apple拥有CaptiveNetwork API,但似乎没有一个解决方案来获取所有可用网络的列表.似乎只能通过使用Apple80211私有库或连接到所有这些来实现.

我错过了什么,或者没有解决方案?

Rok*_*arc 29

如果不使用私有库(Apple80211),您只能获得设备当前连接的网络的SSID.

  • @grubernd:我希望我能给你一个不同的:) (6认同)

Sen*_*ful 5

一些新的 API 已作为 iOS 9 和 iOS 11 中网络扩展的一部分发布。虽然它们都不允许您在应用程序运行时扫描网络,但它们都允许您执行相关任务。例如,您可以在“设置 Wi-Fi”页面运行时使用 Hotspot Helper 扫描网络,并且可以使用户更轻松地使用其中任何一个加入网络。

这是两个框架的比较。

热点助手

  • NEHotspotHelper(在 iOS 9、 WWDC 2015中引入)。
  • 需要 Apple 的特别许可。
  • 需要com.apple.developer.networking.HotspotHelper权利。
  • 有关使其正常工作的分步说明,请参阅此答案
  • 允许您通过“设置”应用中的 Wi-Fi 屏幕参与 Wi-Fi 网络的发现/身份验证。您注册后即可在扫描网络时收到通知(例如,当用户在“设置”应用程序中启动 Wi-Fi 时),并且您可以自动预填写密码并在网络名称附近显示注释。用户仍然需要点击网络名称才能连接,但如果您预先填写了密码,则不会提示输入密码。

    在此输入图像描述

热点配置

  • NEHotspotConfigurationManager(在 iOS 11、 WWDC 2017中引入)。
  • 不需要 Apple 的特别许可。
  • 需要com.apple.developer.networking.HotspotConfiguration权利。
  • 允许您启动与 Wi-Fi 网络的连接。您为其提供应用程序运行时应连接的 SSID/密码列表。它将显示一个对话框,询问用户是否要连接到网络。

    在此输入图像描述