IPv6 전용 네트워크 지원하기

2016년 6월 1일부터 App Store에 제출되는 모든 앱은 IPv6 전용 네트워크를 지원해야 합니다. NSURLSession 및 CFNetwork API에서 이미 IPv6 네트워크를 지원하기 때문에 대부분의 앱은 수정하지 않아도 됩니다. 하지만 IPv4 전용 API 또는 하드 코딩된 IP 주소를 사용하는 앱의 경우에는 수정이 필요합니다. 심사를 받기 위해 App Store에 앱을 제출하기 전에 IPv6 호환성을 반드시 테스트하십시오.

IPv6 네트워크 지원에 대한 자세한 내용은 IPv6 DNS64/NAT64 네트워크 지원하기를 검토하십시오.

IPv6 전용 환경에서 앱 테스트하기

반드시 IPv6 전용 네트워크에서 앱을 테스트해야 합니다. IPv6 전용 환경이 없는 경우 주기적으로 IPv6 DNS64/NAT64 호환성 테스트하기의 지침에 따라 테스트 네트워크를 설정할 수 있습니다.

주의 사항: WWAN 지원 장비로 테스트하는 경우 테스트를 진행하기 전에 WWAN을 껐는지 확인하십시오. 이렇게 해야 해당 장비에서 IPv6 전용 Wi-Fi를 사용하고 있다는 것이 보장됩니다.

참고: 설정 > 셀룰러 > 셀룰러 데이터에서 WWAN을 끌 수 있습니다.

IPv4 레퍼런스

앱에서 IPv4 전용 네트워크 구문에 대한 참조를 모두 삭제하지 않아도 됩니다. IPv6 전용 환경에서 정상적으로 동작하는 경우 이러한 레퍼런스는 유지해도 되며 IPv4 전용 네트워크 구문을 사용해도 됩니다.

주의 사항: IPv4와 IPv6를 독립된 코드 경로로 유지하기보다는 주소 체계와 상관없는 API를 채택할 것을 권장합니다.

서버 업데이트

서버가 광역 인터넷에서 실행되는 경우 서버를 즉시 업데이트하지 않아도 됩니다. 해당 서버는 DNS64/NAT64를 통해 IPv6 전용 장비에 접근할 수 있습니다.

참고: IPv6 네트워크를 항상 지원하려면 서버를 업데이트해야 합니다.

서버가 iOS 앱에 내장되어 있는 경우(예: 사용자가 앱에서 파일을 전송하도록 허용하는 웹 서버) IPv6 전용 환경에서 제대로 동작하는지 확인해야 합니다.

IPv4 주소 통합하기

시스템 API를 사용하여 IPv6 주소 통합하기에 설명된 것처럼 iOS 9.2 및 OS X v10.11.2부터 getaddrinfo를 사용하여 IPv4에서 IPv6 주소로 통합할 수 있습니다. 앱은 최근 릴리즈된 iOS 버전을 사용하는 장비에서 테스트됩니다.

경고: IPv6 주소를 개발자가 직접 통합하기는 어렵습니다. 특히 IPv4 주소와 잘 알려진 접두사(64:ff9b::/96)를 결합하여 IPv6 주소를 만드는 것은 안전하지 않습니다. 이는 일부 NAT64 네트워크에서 동작할 수 있지만 문제를 해결하는 일반적인 방법이 아닙니다.

IPv4 네트워크 기반 액세서리

액세서리에서 IPv6를 지원하거나 IPv4 링크 로컬 주소를 지원하도록 만들어 IPv6 전용 네트워크에서도 동작하도록 액세서리를 수정할 것을 강력히 권장합니다. 두 장비가 모두 IPv6 전용 네트워크에 위치할 때 두 옵션 모두 액세서리와 앱을 연결하도록 허용합니다.

액세서리가 두 옵션을 모두 지원하지 않으며 개발자가 액세서리를 수정하여 지원하도록 만들 수 없는 경우 해당 액세서리는 처음부터 IPv6 지원 요구 사항에 맞지 않는 액세서리입니다.

참고: 위 사항은 로컬 네트워크에서 앱과 액세서리를 연결할 때만 적용됩니다. 앱의 기타 사양도 IPv6 전용 환경에서 동작해야 합니다.