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와 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 전용 환경에서 동작합니다.