C# 与Cocoa API相比,Xamarin中的MAC地址不正确

C# 与Cocoa API相比,Xamarin中的MAC地址不正确,c#,xamarin,cocoa,xamarin.mac,C#,Xamarin,Cocoa,Xamarin.mac,提取macOS设备的MAC地址时出现问题 当我使用Objective-C或Swift代码时,我会得到不同的结果(尽管第一个是实际的MAC地址)。 但是当我使用Xamarin/C#代码时,我得到了不同的结果 但是当我在系统首选项中检查实际的MAC地址时,我得到了从Obj-C代码中提取的内容 两者的输出均附于此处: 有没有办法过滤掉Cocoa API给出的值,或者在Xamarin项目中使用Cocoa API Objective-C代码,这里您可以看到第一个打印值是MAC地址。 Xamarin/C#

提取macOS设备的MAC地址时出现问题

当我使用Objective-C或Swift代码时,我会得到不同的结果(尽管第一个是实际的MAC地址)。 但是当我使用Xamarin/C#代码时,我得到了不同的结果

但是当我在系统首选项中检查实际的MAC地址时,我得到了从Obj-C代码中提取的内容

两者的输出均附于此处:

有没有办法过滤掉Cocoa API给出的值,或者在Xamarin项目中使用Cocoa API

Objective-C代码,这里您可以看到第一个打印值是MAC地址。

Xamarin/C#代码,列表中第三个是MAC地址。


在您的示例中,
F0:18:98
被分配给苹果公司。因此它可能是一个以太网、wifi、机场。。。网卡/端口

查找实际分配的名称,是否以
en
开头


i、 e.是否总是通过系统配置框架中的
SCNetworkInterface
执行
en0
?如果是这样,Linq会根据
名称
属性筛选Mono
NetInterface
列表。

由于所有这些都是有效的NIC,因此macOS上的“可运行”NIC将“不仅”包括基于Internet的活动NIC,还包括本地隧道、雷电、蓝牙、火线等。。。连接。您不能期望返回的第一个始终是您需要的。@SushiHangover:我有一个遗留客户端,它使用上述Obj-c代码发送MAC地址。因此,从新客户端我应该发送相同的MAC地址。那么,我如何知道哪一个是正确的发送?