我目前使用此代码替代NSHost在iPhone应用程序
NSHost *host = [NSHost hostWithAddress:hostname];
if (host == nil) {
host = [NSHost hostWithName:hostname];
if (host == nil) {
[self setMessage:@"Invalid IP address or hostname:"];
return;
}
}
以检索一个网络应用程序我的工作我的IP地址,但我知道,NSHost是私有API将被拒绝。任何人都可以帮助我使用此代码生成相同的结果,而不使用NSHost?我不确定从哪里开始。
编辑:
继似乎该死的近乎完美的在下面,我在代码的地方加入这个代码到我的应用程序上面
Boolean result;
CFHostRef hostRef;
CFArrayRef addresses;
NSString *hostname = @"www.apple.com";
hostRef = CFHostCreateWithName(kCFAllocatorDefault, (CFStringRef)hostname);
if (hostRef) {
result = CFHostStartInfoResolution(hostRef, kCFHostAddresses, NULL); // pass an error instead of NULL here to find out why it failed
if (result == TRUE) {
addresses = CFHostGetAddressing(hostRef, &result);
}
}
if (result == TRUE) {
NSLog(@"Resolved");
} else {
NSLog(@"Not resolved");
}
我已经去除了四号线的建议(如我已经从其他地方获得这些信息),但是我得到的错误是基于CFHostRef未声明的。我将如何解决这个问题?这似乎是我唯一的大障碍,因为其他错误只是基于缺少能够在此之后看到hostRef。 编辑:划痕,我也得到kCFHostAddresses未申报。
由于链接断开而Downvote – 2018-03-06 05:32:03