2012-06-23 33 views
7

tôi nhận được địa chỉ IP và địa chỉ IP của thiết bị. Nhưng, đừng lấy tên thiết bị.Làm thế nào để có được tên thiết bị lập trình trong sdk iPhone?

bất kỳ ý tưởng nào để biết thêm thông tin nếu có thể như "Tiện ích mạng" của thiết bị?

+0

Hi Dhaval, Bạn có tìm thấy bất kỳ giải pháp cho điều này ? sau đó xin vui lòng chia sẻ – iBhavik

+0

@ i-bhavik tôi đã không nhận được tên thiết bị bất kỳ có được thông tin thiết bị. – Dhaval

+0

Có ai có tiến bộ với điều này không? Tôi cũng muốn ứng dụng của tôi tìm tên thiết bị, như iNet. Tôi có thể ping, tôi có thể đọc bảng ARP, tôi không thể tìm thấy tên máy. Bất kỳ trợ giúp sẽ được đánh giá cao! – Jelle

Trả lời

3

Trên iOS 4.1 trở lên, bạn có thể làm điều này: Nếu bạn đang tìm kiếm SSID Tên ..

nhập khẩu

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

cảm ơn, nhưng tôi muốn có thiết bị kết nối ping khác nhau bởi thiết bị của tôi, thông tin thiết bị khác không phải là thông tin mạng. Tôi nhận được tên thiết bị "iPhone simulater" loại tên khác được kết nối với thông tin thiết bị bộ định tuyến. nếu bạn có bất kỳ ý tưởng sau đó nói, xin vui lòng? – Dhaval

+0

@Dhaval: Hãy thử sử dụng mã này trên thiết bị không có trong Trình mô phỏng iPhone. Khi bạn sử dụng thiết bị này trên thiết bị của mình, bạn sẽ nhận được SSID bộ định tuyến, Địa chỉ Mac, v.v. – 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

nó cung cấp cho bất kỳ thông tin thiết bị hiện tại nhưng tôi có để có được các thiết bị kết nối khác nhau trong mạng mà tên/mac/địa chỉ ip của that.i có được mac và ip nhưng không nhận được tên thiết bị. – Dhaval

+0

manish @ bất kỳ ý tưởng nào có được thông tin thiết bị? – 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

tôi đã nhận được ip và mac nhưng không nhận được tên thiết bị .how để có được điều đó? – Dhaval

Các vấn đề liên quan