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

时间:2017-09-29 05:54:32

标签: ios iphone swift permissions reachability

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

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

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

1 个答案:

答案 0 :(得分:6)

如果您担心可能有一个强制性门户网站提供虚假连接"状态到可达性然后您需要尝试从已知网站检索已知数据;然后,如果您获得了预期的结果,您可以相当确信您的应用具有网络访问权限。

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

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

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

如果iOS没有获得预期的成功&#34; (如果所有访问都被重定向到&#34; login&#34;屏幕)或连接超时,则会显示辅助窗口。