2012-01-30 21 views
2

越来越多的iOS开发人员需要依靠设备特定的标识符来切换其应用程序,从[UIDevice uniqueIdentifier]转向使用设备的网卡MAC地址。 这似乎是普遍接受的解决方案,如果您不想或不能使用GUID。 我还可以看到,每个人都在检查ID为“en0”的网络设备。 任何人都可以回答:替代UIDevice的UniqueIdentifier - iOS的网络接口ID是什么?

  • 什么是设备en0?
  • 它是否适用于所有的iPad/iPhone?
  • 如果飞机模式开启或设备未连接到网络,它可用吗?

我发现这个问题UIDevice uniqueIdentifier Deprecated - What To Do Now?但它并没有真正处理细节,因为我问。

回答

1

什么是设备en0?

我个人始终假定它意味着以太网网络,例如Linux使用eth0和BSD衍生物(如OSX)似乎更喜欢en0,但我无法真正确认它。这是你可以在大多数操作系统中改变的东西(但不是在iOS上,除非越狱)。

FWIW其他人似乎假设same但我不认为这是一个明确的答案。 OTOH它应该不是很重要;-)

它是否适用于所有的iPad/iPhone?

AFAIK。报告这应该是一个操作系统(不是设备)功能,并且没有无网络的iOS设备(目前)。我没有旧的iOS版本来确认它是否一直可用。

如果飞机模式开启或设备没有连接到网络,它可用吗?

是的,它可以在飞机模式下使用NetworkInterface.GetAllNetworkInterfaces() API。测试我的第一代iPad。