1

经过几个多小时的搜索,我进入了一个看似死胡同的地方。在这种情况下,我要做的就是使用 Bonjour 获取网络的所有 iOS 设备。我这样做了

self.serviceBrowser = [[NSNetServiceBrowser alloc] init];
[self.serviceBrowser setDelegate:self];
[self.serviceBrowser searchForServicesOfType:@"_apple-mobdev2._tcp." inDomain:@"local."];

这很好用,虽然我得到的是以下内容:

local. _apple-mobdev2._tcp. [MAC ADDRESS HERE]

我尝试使用同步端口 (62078) 来解决连接问题,因为 service.port 返回 -1。

for (NSNetService *service in self.services) {
    NSLog(@"%@", service);
        NSNetService *newService = [[NSNetService alloc] initWithDomain:service.domain type:service.type name:service.name port:62078];
        [newService setDelegate:self];
        [newService resolveWithTimeout:30];
}

这自己调用 netServiceWillResolve: 一点问题都没有,但是它没有到​​达 netServiceDidResolveAddress:

但这也没有失败。netService:didNotResolve: 也没有被调用,我相信它只是在等待解决响应。

为了支持这种说法,一旦它确实实现了方法并且实际上是 [service hostName]; 确实返回了 Yanniss-iPhone,但这发生在完全随机的时间,我让 Mac App 运行了大约半小时。什么可以调用它来运行?或者有人知道获取远程设备主机名的不同方法吗?其他答案没有回答我的问题,因为我正在寻找远程设备的主机名,而不是 Mac 设备的主机名。

相对于此,我发现当您杀死并重新启动 iTunes 以及 iTunes Helper 时,我在下面提到的日志会再次发送。这就是为什么我认为正确的日志是与 iTunes 相关的事件。很感谢任何形式的帮助!

4

1 回答 1

1

iTunes 搜索 bonjour 以获得 wifi 同步功能。至于 didNotResolve 或 resolve 延迟,bonjour 服务会在几秒到 30 分钟之间随机投射。

我实际上也在尝试连接到 iOS 设备,但我无法得到任何响应或返回任何设备。:\

于 2015-07-14T19:48:38.863 回答