Actualmente estoy usando el códigoAlternativas a NSHost de aplicación para el iPhone
NSHost *host = [NSHost hostWithAddress:hostname];
if (host == nil) {
host = [NSHost hostWithName:hostname];
if (host == nil) {
[self setMessage:@"Invalid IP address or hostname:"];
return;
}
}
retrive mi dirección IP para una aplicación de red que estoy trabajando, sin embargo, soy consciente de que NSHost es una API privada que será rechazado ¿Alguien puede ayudarme a trabajar este código para producir los mismos resultados sin usar NSHost? No estoy seguro de por dónde empezar.
EDIT:
Siguiendo las sugerencias que parecen maldito casi perfecto a continuación He añadido este código en mi aplicación en el lugar del código anterior
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");
}
He quitado la cuarta línea (como Ya tengo esta información de otro lado) pero obtengo errores que se basan en que CFHostRef no se declara. ¿Cómo lo resolvería? Parece ser mi único gran obstáculo, ya que otros errores solo se basan en la falta de poder ver hostRef después de eso. EDITAR: rayar que también recibo kCFHostAddresses no declarado.
Votación negativa debido a un enlace roto –