【问题标题】:MAC address not correct in Xamarin as compared to Cocoa API与 Cocoa API 相比,Xamarin 中的 MAC 地址不正确
【发布时间】:2019-12-28 01:41:04
【问题描述】:

我在提取 macOS 设备的 MAC 地址时遇到问题。

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

但是当我在系统偏好设置中检查实际的 MAC 地址时,我得到了从 Obj-C 代码中提取的内容。

两者的输出都附在这里:

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

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

Xamarin / C# 代码,这里列表中的第 3 位是 MAC 地址。

【问题讨论】:

  • 您到底在寻找什么,因为所有这些都是有效的 NIC,macOS 上的“运行正常”的 NIC 不仅包括“仅”基于 Internet 的活动 NIC,还包括本地隧道、雷电、蓝牙、火线等...连接。您不能指望返回的第一个始终是您需要的。
  • @SushiHangover:我有一个使用上述 Obj-c 代码发送 MAC 地址的旧客户端。因此,我应该从新客户端发送相同的 MAC 地址。那么我怎么知道哪个是正确的发送呢?

标签: c# xamarin cocoa xamarin.mac


【解决方案1】:

在您的示例中,F0:18:98 分配给 Apple, Inc.,因此它可能是以太网、wifi|机场、... NIC/端口。

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

即在 SystemConfiguration 框架中总是en0 通过SCNetworkInterface 吗?如果是这样,Linq 根据 Name 属性过滤您的 Mono NetInterface 列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多