我正在开发一个我需要知道的应用程序:
- 我的应用是否具有访问 WLAN 网络的权限。
- 设备当前是否连接到 WIFI。
我知道您可以使用 Reachability 来检查设备是否已连接到互联网,但即使该应用没有访问网络的权限,它也会返回 true。我怎么知道上面列出的 2 个信息?
附加信息:这不是一个普通的应用程序。此应用程序用于通过 WIFI 控制玩具。所以我真的不在乎应用程序是否连接到互联网。我只想知道该应用程序是否具有访问 WLAN 网络的权限。
最佳答案
如果您担心可能有强制门户为 Reachability 提供虚假的“已连接”状态,那么您需要尝试从已知网站检索已知数据;那么如果您获得预期的结果,您就可以相当确信您的应用程序具有网络访问权限。
例如,http://captive.apple.com返回:
<HTML>
<HEAD>
<TITLE>Success</TITLE>
</HEAD>
<BODY>
Success
</BODY>
</HTML>
这是 iOS 和 macOS 尝试访问的网站,以确定是否应显示热点登录帮助程序窗口。
如果 iOS 没有获得预期的“成功”(如所有访问都重定向到“登录”屏幕时的情况)或连接超时,则会显示帮助程序窗口。
关于ios - Swift:如何检查我的应用程序是否具有 WLAN 权限以及设备是否已连接到 WIFI 源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46482545/