【问题标题】:How to identify programmatically which connection is active (WiFi or Ethernet) in Iphone如何以编程方式识别 Iphone 中哪个连接处于活动状态(WiFi 或以太网)
【发布时间】:2013-03-12 17:42:20
【问题描述】:

我需要以编程方式识别 Iphone 中哪个连接处于活动状态(WiFi 或以太网)。如果用户使用的是 WiFi,那么我必须在我的应用中显示不同的视图控制器。

请帮忙。

【问题讨论】:

    标签: iphone objective-c xcode


    【解决方案1】:

    你可以使用苹果提供的可达性类听下面的例子请查看苹果提供的这个示例代码。

    http://developer.apple.com/iphone/library/samplecode/Reachability/index.html

    您可以在您的项目中使用它,如下所示:-

    included Apple's Reachability.h & .m from their Reachability example.

    add the SystemConfiguration framework.

    当你使用它时,你只是调用了 Bellow 方法:-

    Reachability* wifiReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
    NetworkStatus remoteHostStatus = [wifiReach currentReachabilityStatus];
    
    switch (remoteHostStatus)
    {
        case NotReachable:
        {
            NSLog(@"Access Not Available");
            break;
        }
    
        case ReachableViaWWAN:
        {
            NSLog(@"Reachable WWAN");
            break;
        }
        case ReachableViaWiFi:
        {
            NSLog(@"Reachable WiFi");
            break;
        }
    }
    

    【讨论】:

    • 非常感谢。您的示例非常适合我的应用
    • 嗨@Nitin Gohel,我们可以在模拟器中测试一下吗
    • 是的,您可以在模拟器中进行测试。首先打开 wifi 进行测试,然后在特定方法上放置 breck 点。然后关闭wifi并测试它
    • 我们在哪里可以找到模拟器中的 WiFi 关闭选项
    • 通过mac内部连接进行模拟测试你只需要打开mac系统wifi connect my frnd
    猜你喜欢
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2020-10-19
    • 2014-06-06
    • 2018-07-04
    • 1970-01-01
    相关资源
    最近更新 更多