相关疑难解决方法(0)

如何使用iPhone SDK检查本地Wi-Fi(不仅仅是蜂窝连接)?

我目前正在使用以下内容检查我的应用程序是否可以使用Wi-Fi:

#import <SystemConfiguration/SystemConfiguration.h>
static inline BOOL addressReachable(const struct sockaddr_in *hostAddress);

BOOL localWiFiAvailable()
{
    struct sockaddr_in localWifiAddress;
    bzero(&localWifiAddress, sizeof(localWifiAddress));
    localWifiAddress.sin_len = sizeof(localWifiAddress);
    localWifiAddress.sin_family = AF_INET;
    // IN_LINKLOCALNETNUM is defined in <netinet/in.h> as 169.254.0.0
    localWifiAddress.sin_addr.s_addr = htonl(IN_LINKLOCALNETNUM);

    return addressReachable(&localWifiAddress);
}

static inline BOOL addressReachable(const struct sockaddr_in *hostAddress)
{
    const SCNetworkReachabilityRef target =
          SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault,
                                                 (const struct sockaddr *)hostAddress);
    if (target != NULL)
    {
        SCNetworkReachabilityFlags flags = 0;
        const BOOL reachable = SCNetworkReachabilityGetFlags(target, &flags);
        CFRelease(target);
        return reachable && (flags & kSCNetworkFlagsReachable);
    } …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c

25
推荐指数
1
解决办法
2万
查看次数

检测wifi是否已打开

有没有办法检测iPhone/iPad上是否启用了wifi?

我不想看看我是否可以上网,因为我使用了Reachability类.我只需要知道设备上是否启用了wifi.

感谢任何提示.

iphone ipad ios

10
推荐指数
1
解决办法
7600
查看次数

检测wifi是否已打开 - iOS

我在一些应用程序中看到,有一个警告说"打开Wi-Fi时位置准确性得到改善.转到设置打开wifi",然后有2个按钮,"取消"或"设置",在哪种情况下,它会将您重定向到设置页面.他们如何确定wifi是打开还是关闭?我不是要求可达性状态,因为互联网连接不是一个问题,我关心的是位置准确性,因为wifi提高了准确性,我想知道它是否打开,无论通过wifi连接互联网.提前致谢!

编辑:

在看到评论和答案之后,我想我需要强调一下:我不想找到是否通过WI-FI上网.想想在设置中打开wifi的情况,但手机没有连接到任何Wi-Fi网络.不同之处在于您启用了位置服务.打开wifi可以让你在室内更好地定位,gps卫星可能看不到(即使你没有连接到任何特定的wifi网络,哪里isReachableViaWiFi会返回NO,但实际上wifi已开启,我能够获得更准确的位置)

谢谢!

iphone gps core-location wifi ios

8
推荐指数
1
解决办法
3017
查看次数

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

我想检查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)
}
Run Code Online (Sandbox Code Playgroud)

ios swift

4
推荐指数
1
解决办法
5940
查看次数

标签 统计

ios ×3

iphone ×3

cocoa-touch ×1

core-location ×1

gps ×1

ipad ×1

objective-c ×1

swift ×1

wifi ×1