2017-01-06 1 views

답변

2

둘 사이의 USB 링크의 IP 주소는 무엇입니까? 모든 경우에 하나가 있는지 확신 할 수는 없지만 테 더링 (개인 핫스팟)이 활성화 된 경우에만 하나가 있다고 믿습니다.

Wi-Fi 또는 이더넷에서 Mac의 IP 주소를 의미하는 경우 두 장치가 실제로 동일한 네트워크에 있다는 보장이 없습니다 (iPhone이 켜져있는 동안 로컬 LAN에서 Mac을 사용할 수 있음). 다른 NAT 뒤에있는 모바일 네트워크) 통신에 문제가 생길 수 있습니다. (일반적으로 외부 서버가 필요한 일반적인 P2P NAT 트래버 설 문제가 있습니다.

(USB 케이블 대신) 네트워크를 통해 서로 장치를 말하고 싶다면 Bonjour (두 장치가 같은 네트워크에 있어야 함) 또는 더 최근의 Multipeer connectivity 프레임 워크 (필자는 필요할 때 피어 - 투 - 피어 Wi-Fi 네트워크를 설정할 수도 있습니다.)

케이블을 통해 실제로 통신하고 싶다면 다음을 통해 장치와 대화하는 것이 좋습니다. libimobiledevice/usbmuxd으로 iOS 기기의 포트와 통신 할 수 있습니다.하지만 AFAIK는 Mac의 앱에서 iOS 기기의 서버 앱과 대립하는 대신 작동합니다 (

).
+0

예 "Wi-Fi에서 Mac의 IP 주소"를 의미합니다. 두 장치가 동일한 WiFi 네트워크에 있습니다. 아이폰 -> 맥북에서 할 수없는 것처럼 들리는 것 같습니다. USB 케이블이 아닌 WiFi 연결을 통해 통신하고 싶습니다. – jupiter1980

+0

USB 케이블을 통해 연결된 Mac을 실제로 인식해야합니까? 이 경우 응용 프로그램이 포트에서 수신 대기하고 usbmuxd를 통해 응용 프로그램과 통신하여 해당 주소 (예 : Bonjour를 통해 조회 할 수있는 이름)를 응용 프로그램에 보냅니다. 다양한 방법으로 [여기] (https://www.theiphonewiki.com/wiki/MobileDevice_Library)를 찾을 수 있습니다. 어느 것이 든 상관하지 않는다면 간단히 Bonjour를 사용하여 서버를 발견하십시오. 다른 방법으로 장치에 연결된 Mac을 식별하는 방법이 있는지 확실하지 않습니다. – jcaron

0

이 메서드를 클래스 &에 넣으면 현재 장치의 IP 주소를 얻을 수 있습니다.

// get the IP address of current-device 
- (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; 
     } 
    } 
    freeifaddrs(interfaces); 
    return address; 
} 
+0

iOS 기기에서 MacBook의 IP 주소를 검색 할 수있는 앱을 찾고 있습니다. 이것은 로컬 IP 주소를 얻습니다. 감사. – jupiter1980

관련 문제