我尝试在 didFindService 函数中获取 TXTrecords,但我发现该值为 null。
您有解决我的问题的想法吗?
- (void)netServiceBrowser:(NSNetServiceBrowser*)netServiceBrowser didFindService:(NSNetService*)service moreComing:(BOOL)moreComing {
[self.services addObject:service];
NSDictionary* dict = [[NSNetService dictionaryFromTXTRecordData:[service TXTRecordData]] retain];
MyTreeNode *node = [[MyTreeNode alloc] initWithValue:[service name]];
NSString* info = [self copyStringFromTXTDict:dict which:@"info"];
if([info isEqualToString:@"child"]) { // info == null and dict == null??
[treeNode addChild:node];
}
[info release];
if (!moreComing) {
[self sortAndUpdateUI];
}
}
最佳答案
您需要先解析服务。在回调中,您只知道服务存在,但您没有它的记录(既没有它的 A 也没有它的 TXT)。
您可以使用-resolveWithTimeout:
来解决它。如果您需要在 TXT 记录被修改时得到通知,您也可以使用 -startMonitoring
。
关于objective-c - 如何用apple bonjour for iOS读取TXT记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12300137/