【问题标题】:Get Apps Using WLAN & Cellular Setting使用 WLAN 和蜂窝设置获取应用程序
【发布时间】:2017-02-03 15:07:18
【问题描述】:

如何获取下图中Apps Using WLAN & Cellular Setting的设置状态?
如何检查我的应用程序的状态(无、WLAN、WLAN&Cellular),以便我可以显示警报以提醒用户打开此开关〜

【问题讨论】:

  • 您的意思是针对您的应用程序的设置,而不是针对所有应用程序的设置,对吗?
  • 是的,我想引导用户打开这个开关。有时 wifi 已连接,但我的应用程序的此开关已关闭,但用户不知道这一点,他们可能会责怪我,因为他们认为我的应用程序或服务器有问题:(
  • 可能无法做到这一点 - 您可能必须向用户解释他们需要做什么。

标签: ios iphone setting


【解决方案1】:

ReachabilityNotReachable时,有两种情况,

  1. wifi未连接
  2. Apps Using WLAN & Cellular Setting 已关闭

如果能得到当前wifi的SSID,就可以判断wifi已连接,网络开关已关闭~

#import <SystemConfiguration/CaptiveNetwork.h>

    BOOL networkSwitchOff = NO;
    Reachability *reach = [Reachability reachabilityForInternetConnection];
    NetworkStatus status = [reach currentReachabilityStatus];
    if(status==NotReachable){  //Reachability NotReachable
        NSArray *supportedInterfaces = (__bridge_transfer id)CNCopySupportedInterfaces();
        id info = nil;
        NSString *ssid = nil;
        for (NSString *networkInfo in supportedInterfaces) {
            info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)networkInfo);
            if (info && [info count])
                break;
        }

        if (info) {
            NSDictionary *dctySSID = (NSDictionary *)info;
            //we can't get ssid if wifi is not connected
            ssid = [dctySSID objectForKey:@"SSID"]; 
        }
        networkSwitchOff = (ssid!=nil);
    }

【讨论】:

    猜你喜欢
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 2013-02-05
    • 2020-07-05
    • 2013-01-20
    相关资源
    最近更新 更多