2012-06-23 16 views
7

ottengo il dispositivo Mac e l'indirizzo IP. Ma non ottenere il nome del dispositivo.Come ottenere il nome del dispositivo a livello di programmazione in sdk per iPhone?

qualche idea su come ottenere più informazioni se possibile come "Network Utility" del dispositivo?

+0

Hi Dhaval, hai trovato alcuna soluzione per questo ? quindi si prega di condividere – iBhavik

+0

@ i-bhavik non ho avuto il nome del dispositivo qualsiasi ottenere le informazioni sul dispositivo. – Dhaval

+0

Qualcuno ha qualche progresso con questo? Voglio anche che la mia app trovi i nomi dei dispositivi, come fa io. Posso eseguire il ping, posso leggere la tabella ARP, non riesco a trovare i nomi delle macchine. Qualsiasi aiuto sarebbe apprezzato! – Jelle

risposta

3

Su iOS 4.1+, si può fare questo: Se siete alla ricerca di SSID Nome ..

importazione

- (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

grazie, ma voglio ottenere il diverso dispositivo connesso di ping dal mio dispositivo le altre informazioni sul dispositivo, non le informazioni di rete.come ho il mio nome del dispositivo "iPhone simulater" questo tipo di nome di altri connessi con le informazioni sul dispositivo router. se hai qualche idea, allora dillo, per favore? – Dhaval

+0

@Dhaval: prova a utilizzare questo codice sul dispositivo non in iPhone Simulator. Quando lo usi sul tuo dispositivo, otterrai il router SSID, l'indirizzo Mac, ecc. – 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

fornisce tutte le informazioni sul dispositivo corrente ma devo ottenere il dispositivo di connessione diverso nella rete che nome/mac/indirizzo IP di quello. Ricevo il mac e l'ip ma non il nome del dispositivo. – Dhaval

+0

manish @ qualche idea di ottenere le informazioni sul 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

ho già ottenere la ip e mac ma non ottenere il nome del dispositivo. come ottenere quello? – Dhaval

Problemi correlati