2012-06-23 16 views
7

obtengo el dispositivo Mac y la dirección IP. Pero, no obtengas el nombre del dispositivo.¿Cómo obtener el nombre del dispositivo mediante programación en iPhone sdk?

¿Alguna idea de cómo obtener más información si es posible, como "Network Utility" del dispositivo?

+0

Hola Dhaval, ¿Ha encontrado ninguna solución para este ? entonces, por favor, comparta – iBhavik

+0

@ i-bhavik. No obtuve el nombre del Dispositivo. Obtengo la información del dispositivo. – Dhaval

+0

¿Alguien tiene algún progreso con esto? También quiero que mi aplicación encuentre los nombres de los dispositivos, como lo hace iNet. Puedo hacer ping, puedo leer la tabla ARP, no puedo encontrar los nombres de las máquinas. ¡Cualquier ayuda sería apreciada! – Jelle

Respuesta

3

En iOS 4.1 o superior, se puede hacer esto: Si usted está buscando SSID Nombre ..

importación

- (id)fetchSSIDInfo 
{ 
    NSArray *ifs = (id)CNCopySupportedInterfaces(); 
    NSLog(@"%s: Supported interfaces: %@", __func__, ifs); 
    id info = nil; 
    for (NSString *ifnam in ifs) { 
     info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam); 
     NSLog(@"%s: %@ => %@", __func__, ifnam, info); 
     if (info && [info count]) { 
      break; 
     } 
     [info release]; 
    } 
    [ifs release]; 
    return [info autorelease]; 
} 
+0

gracias, pero quiero obtener el dispositivo conectado diferente de ping por mi dispositivo la información del otro dispositivo no la información de la red. Como obtener el nombre de mi dispositivo "simulador de iPhone" este tipo de nombre de otro conectado con la información del dispositivo del enrutador. si tiene alguna idea, dígame, ¿por favor? – Dhaval

+0

@Dhaval: intente utilizar este código en el dispositivo que no está en el simulador de iPhone. Cuando use esto en su dispositivo, obtendrá el SSID del enrutador, la dirección de Mac, etc. – Deepak

12
NSLog(@"uniqueIdentifier: %@", [[UIDevice currentDevice] uniqueIdentifier]); 
NSLog(@"name: %@", [[UIDevice currentDevice] name]); 
NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]); 
NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]); 
NSLog(@"model: %@", [[UIDevice currentDevice] model]); 
NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]); 
+0

da la información de cualquier dispositivo actual, pero tengo que obtener el dispositivo de conexión diferente en la red que nombre/mac/dirección IP de eso. Obtengo el Mac y el IP pero no obtengo el nombre del dispositivo. – Dhaval

+0

manish @ ¿Alguna idea de obtener la información del dispositivo? – Dhaval

+0

Nops !! .......... – Mani

1
#import <ifaddrs.h> 
#import <arpa/inet.h> 

- (NSString *)getIPAddress {  
    NSString *address = @"error"; 
    struct ifaddrs *interfaces = NULL; 
    struct ifaddrs *temp_addr = NULL; 
    int success = 0; 
    // retrieve the current interfaces - returns 0 on success 
    success = getifaddrs(&interfaces); 
    if (success == 0) { 
     // Loop through linked list of interfaces 
     temp_addr = interfaces; 
     while(temp_addr != NULL) { 
      if(temp_addr->ifa_addr->sa_family == AF_INET) { 
       // Check if interface is en0 which is the wifi connection on the iPhone 
       if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) { 
        // Get NSString from C String 
        address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];    
       } 
      } 
      temp_addr = temp_addr->ifa_next; 
     } 
    } 
    // Free memory 
    freeifaddrs(interfaces); 
    return address; 

} 
+0

ya tengo el ip y mac, pero no obtengo el nombre del dispositivo. ¿Cómo conseguirlo? – Dhaval

Cuestiones relacionadas