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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...