Redes compatibles únicamente con IPv6

Desde el 1 de junio de 2016, todas las apps enviadas a App Store deben ser compatibles con redes que funcionen únicamente con IPv6. La mayoría de las apps no requerirá modificaciones, ya que IPv6 es compatible con las API de NSURLSession y CFNetwork. Sin embargo, si tu app utiliza interfaces API específicas para IPv4 o direcciones IP codificadas, deberás realizar algunas modificaciones. Asegúrate de verificar que tu app sea compatible con IPv6 antes de enviarla a App Store para su revisión.

Para obtener más información sobre cómo diseñar apps que sean compatibles con redes IPv6, consulta Cómo admitir redes IPv6 DNS64/NAT64 (inglés).

Cómo probar tu app en un entorno que es compatible únicamente con IPv6

Debes probar tu app en una red que sea compatible únicamente con IPv6. Si no tienes una, puedes configurar una red de prueba siguiendo las instrucciones en Prueba regularmente la compatibilidad con IPv6 DNS64/NAT64 (inglés).

IMPORTANTE: Si estás realizando la prueba con un dispositivo compatible con WWAN, asegúrate de desactivar WWAN antes de comenzar. De esa forma, te aseguras de que el dispositivo use la red Wi-Fi compatible únicamente con IPv6.

Nota: Puedes desactivar WWAN en Configuración > Celular > Datos celulares (para localizaciones en inglés fuera de América del Norte, usa Configuración > Móvil > Datos móviles).

Referencias a IPv4

No es necesario que elimines todas las referencias a bases IPv4 de tu app siempre y cuando funcionen correctamente en un entorno que sea compatible únicamente con IPv6.

IMPORTANTE: Te recomendamos adoptar API que no dependan de una particular familia de direcciones; así te evitarás tener que mantener rutas de código distintas para IPv4 e IPv6.

Actualizaciones del servidor

No es necesario que actualices tu servidor inmediatamente si funciona en la internet general. Tu servidor será accesible a los dispositivos compatibles únicamente con IPv6 a través de DNS64/NAT64.

Nota: A la larga, deberías actualizar tu servidor para que funcione bien con IPv6 de forma natural.

Si tienes un servidor integrado en tu app para iOS (por ejemplo, un servidor web que permite a los usuarios transferir archivos desde y hacia tu app), asegúrate de que funciona en un entorno compatible únicamente con IPv6.

Cómo sintetizar desde una dirección IPv4

Como se detalló en Cómo usar interfaces API del sistema para sintetizar direcciones IPv6 (inglés), a partir de iOS 9.2 y OS X v.10.11.2, puedes usar getaddinfo para sintetizar una dirección IPv6 desde una dirección IPv4. Tu app se probará en un dispositivo que ejecute la versión más reciente de iOS.

ADVERTENCIA: Sintetizar direcciones IPv6 sin ayuda es difícil. En especial, no es seguro crear una dirección IPv6 combinando una dirección IPv4 con el prefijo Well-Known (64:ff9b::/96). Es posible que funcione en algunas redes NAT64, pero no es una solución general al problema.

Accesorios basados en una red IPv4

Te recomendamos modificar el accesorio para que funcione en una red compatible únicamente con IPv6. Puedes hacer que el accesorio sea compatible con IPv6 o que sea compatible con una dirección IPv4 de enlace-local. Ambas opciones permitirán que tu app se comunique con tu accesorio cuando ambos dispositivos estén en una red compatible únicamente con IPv6.

Si tu accesorio no admite ninguna de estas opciones y no puedes modificarlo para que lo haga, significa que es fundamentalmente incompatible con los requisitos necesarios para admitir IPv6.

Nota: La información precedente solo es válida para la comunicación de tu app con tu accesorio en una red local. Otros aspectos de tu app deberían funcionar correctamente en un entorno compatible únicamente con IPv6.