ios – Swift:如何检查我的应用是否具有WLAN权限并且设备是否已连接到WIFI源?

我正在开发一个我需要知道的应用程序:

>我的应用是否拥有访问WLAN网络的权限.
>设备当前是否连接到WIFI.

我知道你可以使用Reachability来检查设备是否已连接到互联网,但即使应用程序没有访问网络的权限,它也会返回true.我怎么知道上面列出的2个信息?

附加信息:这不是常规应用程序.此应用程序用于通过WIFI控制玩具.所以我真的不在乎应用是否连接到互联网.我想知道的是,该应用程序是否具有访问WLAN网络的权限.

最佳答案
如果您担心可能存在强制门户网站给可达性提供错误的“连接”状态,那么您需要尝试从已知网站检索已知数据;然后,如果您获得预期的结果,您可以相当确信您的应用程序具有网络访问权限.

例如,http://captive.apple.com返回:

<HTML>
  <HEAD>
   <TITLE>Success</TITLE>
  </HEAD>
  <BODY>
     Success
  </BODY>
</HTML>

这是iOS和macOS尝试访问的网站,以确定是否应显示热点登录帮助窗口.

如果iOS未获得预期的“成功”(如果所有访问都被重定向到“登录”屏幕)或连接超时,则显示帮助程序窗口.

转载注明原文:ios – Swift:如何检查我的应用是否具有WLAN权限并且设备是否已连接到WIFI源? - 代码日志