iphone - 通过IP地址获取主机名

时间:2012-08-03 20:45:35

标签: iphone objective-c ios network-programming hostname

我的本​​地wifi网络(192.168.1.100-105)中有一个ip地址列表。我怎样才能获得设备名称?例如“我的台式电脑”。像Fing这样的应用程序可以做到。

我找到了一些例子:

iPhone Tip: No NSHost

How to get Domain Name of ipAddress and ipAddress from Domain Name in objective-c

但看起来它们仅适用于来自互联网的收件人,而不适用于本地网络。

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用三种主要协议来获取有关本地网络上设备的信息:Bonjour,NetBIOS和UPnP。其中只有第一个在iOS中支持。因此,您必须搜索库或编写自己的其他两个实现。

答案 1 :(得分:0)

如果按照设备名称,您的意思是iOS设备的UDID(唯一设备标识符),则针对拟议的美国互联网隐私法来访问它。如果您的应用尝试获取UDID,则可能会从appstore中拒绝该应用。如果要跟踪运行应用程序的设备,可以使用以下几个虚拟UDID生成器:SecureUDID

如果您只是想要一些唯一标识符来标识网络上的某些设备,您可以尝试在iDevice上读取网络接口的mac地址。但这样做可能/可能不会违反Apple的指导方针。

无论哪种方式,Apple都会对试图识别用户设备的应用程序表示严厉的态度(除非它们是链接中的虚拟UDID)。所以要非常确定你的目标是什么。

虽然有一个免责声明..如果您的应用程序不是针对在美国销售的,那么访问UDID是Apple的指导方针的灰色(读取不清楚)区域。