当前位置: 首页 > 面试题库 >

如何检查iOS Swift 2中是否打开或关闭WiFi?

东门焕
2023-03-14
问题内容

我想检查wifi是否关闭,然后向用户显示警报以检查其连接。

我找到了这样的代码,但是它检查是否有互联网连接,而不是检查wifi是否打开:

func isConnectionAvailble()->Bool{

  var rechability = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, "www.apple.com").takeRetainedValue()

  var flags : SCNetworkReachabilityFlags = 0

  if SCNetworkReachabilityGetFlags(rechability, &flags) == 0
  {
     return false
  }

  let isReachable = (flags & UInt32(kSCNetworkFlagsReachable)) != 0
  let needsConnection = (flags & UInt32(kSCNetworkFlagsConnectionRequired)) != 0
  return (isReachable && !needsConnection)
}

问题答案:

你不能

使用Apple的可达性类别,您可以根据NetworkStatus结构区分三件事:

typedef enum : NSInteger {
  NotReachable = 0,         // 1
  ReachableViaWiFi,         // 2
  ReachableViaWWAN          // 3
} NetworkStatus;
  1. 您既没有WiFi也没有移动数据连接。
  2. 您具有WiFi连接,但是您可能有也可能没有移动数据连接。
  3. 您具有移动数据连接,但没有WiFi连接。

无法 检查WiFi是否已关闭,WiFi是否已打开但附近没有WiFi网络或飞行模式是否已打开。

对于移动数据,可以使用电话类来查找您的设备是否能够进行移动数据连接(iPhone和iPad以及插入的SIM卡),并可以在应用程序首选项中检测是否禁用了移动数据。



 类似资料:
  • 问题内容: 我下面的代码创建一个新数组,并将其发送到chat(jFrame)。 但是我需要修改此代码以使其工作,如果打开了聊天jframe,则不要打开新的jFrame。而是在chat jframe中打开新的选项卡。聊天框的代码是: 问题答案: 我想知道如果该窗口依赖于另一个窗口,那么是否不应该使用JDialogs而不是JFrames。 一种解决方案是使用类字段来保存对窗口(JFrame或JDial

  • 问题内容: 我想检查使用PHP在特定实例上网站是否正常运行。我知道curl会获取文件的内容,但我不想阅读网站的内容。我只想查看网站的状态。有什么方法可以检查网站的状态?我们可以使用ping检查状态吗?对于我来说,从服务器获取状态信号(例如404、403等)就足够了。一小段代码可能对我有很大帮助。 问题答案: 这样的事情应该工作

  • 我有一个GLSURFACHEVIEW,在那里我呈现我的GUI。在一种情况下,我需要用户输入一个数字,为了实现这一点,我使用了一个框架布局,上面是我的GLSurfaceView,后面是另一个虚拟布局,后面是EditText。当需要输入时,我聚焦编辑文本并强制软键盘显示。然后我听各种方法来结束输入,输入键,输入法动作完成,返回键等等。 然而,我刚刚意识到一个情况,这是不起作用的。在某些键盘上有一个“隐

  • 问题内容: 如果我在关闭的管道中写一条消息,则程序崩溃 在写之前如何检查它是否仍然打开? 问题答案: 正确的方法是测试的返回码,然后还要检查: 但是请稍等:写入封闭的管道不仅会返回-1 ,而且还会发送一个终止进程的信号: EPIPE fd连接到读数端关闭的管道或插座。发生这种情况时,写入过程还将收到SIGPIPE信号。 因此,在进行测试之前,您还需要 忽略:

  • 问题内容: 我想知道如何检查JIT编译器是否已关闭。我有以下代码旨在关闭JIT编译器。问题是,我不确定它是否确实在这样做。所以我想知道是否有一种方法可以检查JIT是否关闭。我看了Compiler类,但没有类似的方法。 码: 任何帮助或指导将不胜感激。 问题答案: 我不相信您可以在运行时关闭JIT。 如果要认真地对Java程序进行基准测试,则绝对应该忽略前几次运行。在Java中获得可靠的基准测试是一

  • 问题内容: 有没有一种简单的方法来检测XMLHttpRequest在浏览器窗口中是否处于活动状态?还是有多少活跃?即。有没有一种方法可以检测我的浏览器窗口中是否有活动的AJAX调用? 问题的扩展: 使用javascript有没有办法查看是否打开了XMLHttpRequests?例如“ window.XMLisActive()”或类似的东西? 解决方案:最终为XMLHttpRequest写一个包装器