我正在使用 Bonjour 和 NSNetService 从我的 iPhone 发布服务器。这一切都按预期工作,我可以浏览我正在服务的页面等。但是,在 iPhone 上,我想显示主机名(即 URL,如“myDevice.local”),这样也可以输入在浏览器中手动添加地址(对于缺少 bonjour 发现服务的客户端很有用)。我的理解是调用方法 [myNetService hostName] 应该给我那个地址。但是,此调用始终返回 nil。我在某个论坛上读到我首先应该解析服务,但是 [myNetService resolve] 和 [myNetService resolveWithTimeout:10] 都调用了委托方法
- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict;
有错误
{
NSNetServicesErrorCode = -72003;
NSNetServicesErrorDomain = 10;
}
这显然意味着它已经解决了。同样,这一切都是在我可以使用该服务时发生的。我还可以获得端口、域和服务类型。唯一的另一个奇怪的事情是调用 [myNetService 地址] 返回一个空数组。
我正在使用 SDK 3.1.3。有人知道我做错了什么吗?