Redes somente IPv6

A partir de 1º de junho de 2016, todos os apps enviados para a App Store devem ser compatíveis com redes somente IPv6. A maioria dos apps não exigirá mudanças, pois o IPv6 já é compatível com APIs NSURLSession e CFNetwork. No entanto, se o app utilizar APIs IPv4 específicas ou endereços IP fixos, você precisará fazer alterações. Teste a compatibilidade com IPv6 antes de enviar seu app para análise da App Store.

Para saber mais sobre a compatibilidade de redes IPv6, consulte Suporte a redes IPv6 DNS64/NAT64 (Inglês).

Testar o app em ambientes somente IPv6

É necessário testar o app em uma rede somente IPv6. Caso não tenha uma, configure uma rede para teste seguindo as instruções em Teste regularmente a compatibilidade com IPv6 DNS64/NAT64 (Inglês).

IMPORTANTE: se estiver fazendo um teste com um dispositivo compatível com WWAN, desative a WWAN antes de executar o teste. Assim você terá certeza de que o dispositivo usará o Wi-Fi somente IPv6.

Observação: desative a WWAN em Ajustes > Celular > Dados Celulares; para localidades de idioma inglês fora da América do Norte, use Settings (Ajustes) > Mobile (Celular) > Mobile Data (Dados Celulares).

Referências de IPv4

Não é necessário remover todas as referências a constructos somente IPv4 do app desde que eles se comportem corretamente em um ambiente somente IPv6.

IMPORTANTE: recomendamos que você adote APIs de famílias de endereços agnósticas em vez de manter caminhos separados de códigos para IPv4 e IPv6.

Atualizações de servidor

Não é necessário atualizar o servidor imediatamente se ele for executado na internet mais ampla. O servidor ficará acessível a dispositivos somente IPv6 por meio de DNS64/NAT64.

Observação: em algum momento, considere atualizar seu servidor para que ele seja compatível com IPv6.

Se houver um servidor integrado ao seu app para iOS (por exemplo, um servidor web no qual os usuários podem transferir arquivos do seu app e para ele), certifique-se de que o app funcione corretamente em um ambiente somente IPv6.

Sintetizar a partir de um endereço IPv4

Conforme explicado em Usar APIs do sistema para sintetizar endereços IPv6 (Inglês), a partir do iOS 9.2 e do OS X 10.11.2, é possível usar getaddrinfo para sintetizar um endereço IPv6 de um endereço IPv4. O app será testado em um dispositivo com a versão mais recente do iOS.

AVISO: é difícil sintetizar endereços IPv6 por conta própria. Mais especificamente, não é seguro formar um endereço IPv6 combinando um endereço IPv4 com o prefixo bem conhecido (64:ff9b::/96). É possível que isso funcione em algumas redes NAT64, mas não é uma solução geral para o problema.

Acessórios baseados em redes IPv4

É altamente recomendável que você modifique seu acessório para que ele funcione em uma rede somente IPv6 seja pela compatibilidade do acessório com IPv6 ou ao fazer com que o acessório funcione com endereçamento local de link IPv4. As duas opções permitirão que seu app se comunique com o acessório quando ambos dispositivos estiverem em uma rede somente IPv6.

Se o acessório não for compatível com nenhuma dessas opções, e não for possível fazer alterações no acessório para que ele funcione, ele não atende ao requisito de compatibilidade com IPv6.

Observação: o exposto acima se aplica apenas à comunicação do seu app com seu acessório em uma rede local. É esperado que os demais aspectos do seu app funcionem em um ambiente somente IPv6.