Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Cocoa-如何检测Mac是否在以太网连接上,并且没有WiFi_Objective C_Macos_Cocoa_Reachability - Fatal编程技术网

Objective c Cocoa-如何检测Mac是否在以太网连接上,并且没有WiFi

Objective c Cocoa-如何检测Mac是否在以太网连接上,并且没有WiFi,objective-c,macos,cocoa,reachability,Objective C,Macos,Cocoa,Reachability,我需要通过Cocoa API了解Mac是否通过以太网连接或WiFi专门连接到互联网。我使用苹果的可达性类来检测WiFi连接,但似乎没有办法查看Mac是否在以太网(有线)连接上 我还查看了(哪个可达性是基于哪个的),但找不到一个好方法来判断哪个是用于以太网连接的 希望得到帮助。即使您的应用程序正在沙箱环境中运行,您也可以执行一些脚本。您可以尝试使用以下命令检查Wi-Fi状态: networksetup -getinfo Wi-Fi 此外,根据自己的经验,此示例可能会有所帮助: NSString

我需要通过Cocoa API了解Mac是否通过以太网连接或WiFi专门连接到互联网。我使用苹果的可达性类来检测WiFi连接,但似乎没有办法查看Mac是否在以太网(有线)连接上

我还查看了(哪个可达性是基于哪个的),但找不到一个好方法来判断哪个是用于以太网连接的


希望得到帮助。

即使您的应用程序正在沙箱环境中运行,您也可以执行一些脚本。您可以尝试使用以下命令检查Wi-Fi状态:

networksetup -getinfo Wi-Fi
此外,根据自己的经验,此示例可能会有所帮助:

NSString *scriptCode  = [NSString stringWithFormat:@"do shell script \"%@\"", 
                                                   @"networksetup -getinfo Wi-Fi"];
NSDictionary *errorDict = nil;
NSAppleScript *script = [[NSAppleScript alloc]initWithSource:scriptCode];
NSAppleEventDescriptor *returnDescriptor = [script executeAndReturnError:&errorDict];

NSLog(@"%@", returnDescriptor.stringValue);

这适用于OSX>10.8

你可以知道是否有可达性,对吗?那么,如果你检查了它是否是wifi——它自然会意味着它是以太网连接吗?不知道这是不是一个有效的想法,只是想知道