如果存在活动的以太网连接,以编程方式检查OS X?

时间:2013-09-29 02:21:15

标签: macos cocoa connection ethernet

我怎么知道我的mac是通过以太网连接到网络的。在可可中有任何检查方法吗?

我发了一个wifi连接检查,但是没有以太网连接检查。

2 个答案:

答案 0 :(得分:1)

看看this答案,您需要将SystemConfiguration框架添加到项目中

答案 1 :(得分:1)

试试这样: - 首先导入以下框架,然后编写以下代码

#include <SystemConfiguration/SystemConfiguration.h> 

    NSString *pingHost = @"abc.apple.com"
    SCNetworkConnectionFlags flags = 0;
    if (pingHost && [pingHost length] > 0) {
        flags = 0;
        BOOL found = NO;
        SCNetworkReachabilityRef reachabilityRef = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, [pingHost UTF8String]);
        if (reachabilityRef) {
            found = SCNetworkReachabilityGetFlags(reachabilityRef, &flags)
            &&  (flags & kSCNetworkFlagsReachable)
            && !(flags & kSCNetworkFlagsConnectionRequired);
            CFRelease(reachabilityRef);
            reachabilityRef = NULL;
        }
        if (found) {                
            NSLog(@"Connection established");
        }
        if (!found) {
            NSLog(@"Connection not established");
        }
    }