ios - support - ipv6 test google
compatibilidad requerida con iPv6: aplicaciĆ³n de iOS rechazada por Apple (4)
Elimine la notación de puntos de la URL de la API porque la red IPv6 no permite la notación de puntos en la URL. Eliminé de la URL de API y su trabajo para mí.
después del 1 de junio, envié mi aplicación iónica a iTunes Connect y recibí el mensaje de Apple.
Las aplicaciones se revisan en una red IPv6. Asegúrese de que su aplicación sea compatible con redes IPv6 , ya que se requiere compatibilidad con IPv6 .
Para obtener información sobre el soporte de redes IPv6, consulte Redes iPv6 DNS64 / NAT64 compatibles.
Para obtener una descripción general de las redes, consulte Acerca de las redes.
He usado AFNetworking para llamadas API.
Por favor, ayuda a encontrar la solución para el mismo.
Gracias.
En realidad estoy llamando a la API usando la Biblioteca AFNetworking.
Acabo de reemplazar las clases AFNetworkReachabilityManager de Github con mis clases existentes. Y la manzana ya no tiene problema.
Y mi aplicación funciona ahora.
Si está utilizando API específicas de IPv4 o direcciones IP codificadas, deberá actualizar su código, aunque todas las API NSURLSession y CFNetwork (incluida NSURLConnection) ya admiten IPV6
Como mencionó Apple:
En WWDC 2015, anunciamos la transición a servicios de red solo IPv6 en iOS 9. A partir del 1 de junio de 2016, todas las aplicaciones enviadas a la App Store deben admitir redes solo IPv6. La mayoría de las aplicaciones no requerirán ningún cambio porque IPv6 ya es compatible con las API NSURLSession y CFNetwork.
Si su aplicación utiliza API específicas de IPv4 o direcciones IP codificadas, deberá realizar algunos cambios.
A pesar de que. Apple también recomienda no usar Literal de dirección IP, a largo plazo (no es necesario)
No use literales de direcciones IP
Asegúrese de no pasar literales de dirección IPv4 en notación de puntos a API como getaddrinfo y SCNetworkReachabilityCreateWithName. En su lugar, utilice marcos de red de alto nivel y versiones independientes de direcciones de API, como getaddrinfo y getnameinfo, y páseles nombres de host o nombres de dominio completos (FQDN). Consulte la página del manual de herramientas para desarrolladores de Mac OS X de getaddrinfo (3) y la página del manual de herramientas para desarrolladores de Mac OS X de getnameinfo (3).
Nota: En iOS 9 y OS X 10.11 y posteriores, NSURLSession y CFNetwork sintetizan automáticamente direcciones IPv6 a partir de literales IPv4 localmente en dispositivos que operan en redes DNS64 / NAT64. Sin embargo, aún debe trabajar para eliminar su código de literales de dirección IP
Si está utilizando AFNetworking Library, asegúrese de actualizarlo a la versión anterior a 3.x, ya que parecen haber actualizado algunas de las cosas. -> AFNetworking Se agregó soporte para IPv6 a Accesibilidad.
Para obtener información detallada, siga este enlace
Compatible con redes solo IPv6
TAMBIÉN PARA PROBAR
Puedes seguir este tutorial detallado:
Solución para el rechazo de aplicaciones de Apple debido a la red IPv6
Mi comprobación de accesibilidad a Internet para IPv6 no funciona bien. Siempre muestra ausencia de red. Cuando uso este código, Apple aprobó mi aplicación en 24 horas. GRACIAS
Cambie la siguiente línea en el código en la biblioteca de AFNetworking en la clase AFNetworkReachabilityManager
CAMBIAR AF_INET A 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;
}
EDITAR:
$ grep -nr ''AF_INET*'' .
./Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m:122: address.sin_family = AF_INET;
replace
AF_INET; to AF_INET6;