2016-10-07 2 views
1

처음으로 IPv6에 대한 의무적 인 지원에 대해 읽어야 할 때, AppStore에 출시 될 새로운 모든 응용 프로그램의 네트워크 만이 어제 (내 애플이 애플이 이것을 거부 한 이유가되었다).iOS 앱 테스트를 위해 IPv6 전용 네트워크를 설정하는 방법은 무엇입니까?

그래서 저는 이것을 제 마지막에서 재현하려고 노력해 왔습니다. 나는 동일한 번호로 Apple's guide을 통과했으며 NAT64 네트워크를 설정하고 그것에 iPhone을 연결했습니다 (screenshot). 내가 장치에 IPv6 연결을 확인 test-ipv6.com 또는 다른 웹 사이트로 극복

그러나, 그것은 메시지 "없음 IPv6 주소는 감지"보여줍니다. 또한, ipv6.google.com을로드 할 수 없으며 IPv6 네트워크에서만로드됩니다 (잘못된 경우 수정하십시오).

뭔가가 누락되었거나 IPv6 전용 네트워크 호환성을 테스트 할 수있는 다른 방법이 있습니까?

피씨 :이 NAT64 네트워크에서 시도하면 응용 프로그램이 작동하고 페이지가 잘로드됩니다. 그러나 애플의 거부 반응에서 API는 실패했다.

+0

([당신은 글로벌 IPv6 주소를 참조하는 것을 의미하지 않을] http://stackoverflow.com/을 받아주십시오 a/39862158/1068283)를 방문하십시오. IPv4 주소 만 표시됩니다. 이 경우 iOS 장치와 NAT64 네트워크를 실행하는 Mac 사이의 로컬 네트워크 세그먼트 만 IPv6을 사용합니다. –

답변

0

AFNetworking을 사용하고 있습니까? 예인 경우 수업을 업데이트하십시오. AFNetworking 클래스 AFNetworkReachabilityManager의 코드에서 다음 줄을 변경하십시오.

CHANGE AF_INET TO AF_INET6;

+ (instancetype)sharedManager { 
    static AFNetworkReachabilityManager *_sharedManager = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
     struct sockaddr_in address; 
     bzero(&address, sizeof(address)); 
     address.sin_len = sizeof(address); 
     address.sin_family = AF_INET6; //Change AF_INET TO AF_INET6 
     _sharedManager = [self managerForAddress:&address]; 
    }); 

    return _sharedManager; 
} 

그렇지 않으면 네트워킹에 어떤 클래스 또는 라이브러리를 사용하고 있습니까?

편집 :

http://www.brianjcoleman.com/tutorial-how-to-test-your-app-for-ipv6-compatibility/

그것은 단지 당신의 맥에서 네트워크의 IPv6 NAT64의 생성을 설명합니다 : 당신이 요청으로, 여기 준비 IPv6의 경우 귀하의 응용 프로그램을 테스트하고 확인하는 방법에 대한 자습서입니다 Mac에서 다른 Wi-Fi (또는 블루투스 또는 기타) 기기로 인터넷 연결을 공유 할 수 있습니다.

그런 다음 모든 호출이 ipv6 전용 네트워크를 통해 이루어 지도록 앱에서 모든 테스트를 수행 할 수 있습니다.

Edit2가이 :

그 웹 사이트는 당신의 IPv6 IP 주소를 볼 수 없습니다. 이 자습서를 사용한 경우 ipv6 주소는 개인 (네트워크 내부) 주소입니다. iPhone과 Mac간에 통신하는 데 사용됩니다. 인터넷 웹 사이트에서 볼 수있는 것은 PUBLIC ip입니다. 인터넷 서비스 제공 업체에서 모뎀에 제공하고 일반적으로 ipv4 네트워크입니다.

결론적으로 귀하의 앱은 ipv6 주소로 작업하고 있습니다. 테스트 웹 사이트는 라우터/모뎀의 공용 주소 만 볼 수 있기 때문에이를 감지하지 못합니다.

공용 IP 주소와 개인 IP 주소에 대한 자세한 내용은 This link을 참조하십시오.이 경우

당신이 무엇을 검색했는지, 또는 그것은 당신의 문제를 해결하는 경우, 대답 :

+0

예, AFNetworking을 사용 중이며 AFNetworking을 3.1에서 2로 업데이트했습니다 (이 클래스에 대한 업데이트 및 IPv6 지원 기능 포함). 이것으로 문제가 해결되었을 수도 있습니다 (아직 AppStore에이 변경 사항을 적용한 빌드를 제출할 예정 임). 제 질문은 실제로 iPhone의 IPv6 네트워크에서 내 앱을 테스트하는 것입니다. –

+0

음. ipv6 네트워크에서 앱을 테스트하는 방법에 대한 자습서로 답변을 업데이트 할 예정입니다. + 걱정 마세요, 직접이 문제에 직면하여 AFNetworking을 업데이트하면 앱을 승인 할 수있었습니다. :) –

+0

죄송합니다. 이것은 내 질문에 언급 된대로 따라 튜토리얼 동일합니다. IPv6 테스트 웹 사이트로 이동하면 동일한 결과가 나타납니다. ** "No IPv6 address detected"** –

관련 문제