2016-09-19 4 views
1

Mon application a été rejetée car elle n'était pas compatible avec iPV6.IPV6 dans iOS9 et configuration de l'API d'activation IPV6

J'avais traversé the documentation et peu étudié sur iPV6 et beaucoup d'autres liens.

Mais je dois comprendre et avoir besoin de plus de précisions sur certains points liés à l'adoption de IPV6.

  1. Quand Apple dit "IPv6 réseau uniquement". Cela signifie-t-il que je ne peux pas me connecter au serveur ipv4 via la programmation socket ou l'hôte HTTP?

  2. Pour atteindre ou communiquer avec le serveur qui est activé ipv4, je dois adopter les nouvelles API fournies par apple (nsurlsession et nscfnetwork) pour http post?

  3. Qu'est-ce que l'adresse de synthèse ipv6? Cela signifie-t-il que j'écrirai le domaine ou l'adresse ipv6 dans mon client (application iOS) et que iOS convertira l'adresse ipv6 en ipv4 et la transmettra au serveur via ma socket socket ou http post?

    à la synthèse de l'adresse ipv6 cette fonction est nécessaire: getaddrinfo

  4. Exemple: J'ai mon client (application ios) qui communiquent avec le serveur différent.

    a. Serveur1 est iPV4
    b.Serveur2 est ipv6

    Comment dois-je gérer cela? Ai-je besoin d'une autre entité externe comme un serveur DNS/NAT qui va m'aider à convertir l'ipv4 en ipv6? OU le système d'exploitation iOS9 et supérieur fait-il tout seul?

  5. Ipv6 est-il obligatoire depuis ios9.2 ou à partir de ios9?

  6. Mon application prend également en charge ios8. Dans lequel il n'y a aucune exigence pour le serveur ipv6. Comment puis-je gérer le code pour la communication ios8 vers ipv4 et le code de synthèse dans ios9 pour ipv6.

Veuillez me fournir des éclaircissements et aidez-moi à comprendre exactement ce dont j'ai besoin pour l'ipv6.

Je suis nouveau au code de côté de réseau.

Répondre

0

Vous pouvez vous connecter uniquement au serveur IPv4 uniquement utiliser le nom domicatif, pas l'adresse IP.

Ou vous pouvez utiliser une adresse NAT64 (généralement préfixe avec 64:ff9b::/96, et peut être découvert par requête enregistrements AAAA du serveur IPv4 seulement) lorsque l'utilisateur est dans un réseau IPv6 seulement.

Pour la plupart des développeurs, vous n'avez rien à faire.

Et vous pouvez essayer de déboguer l'application dans un réseau NAT64 qui peut créer par votre macOS.

Remarque: Si vous le pouvez, utilisez AFNetworking Library avec la version 3.x ou ultérieure.

+0

merci pour la réponse. Nous ne pouvons pas donner le nom de domaine. Nous devons donner l'adresse IP. Parce que notre produit est basé sur la programmation SIP et socket. – xamrine

+0

vous devez utiliser le serveur IPv6 ou '64: ff9b :: abcd: 1234' pour le réseau IPv6 uniquement. 'abcd: 1234' est un vrai IPv4 en hexadécimal. – qin

+0

@xamrine Vous pouvez certainement utiliser des noms d'hôte avec le protocole SIP. Vous ne pouvez plus utiliser les adresses IPv4 de cette manière sur iOS. –

0

enter image description here

au moment où un emplacement IPv6 est introuvable, le serveur DNS64 demande une adresse IPv4. Le serveur DNS64 intègre ensuite une adresse IPv6 en préfixant l'adresse IPv4 et la transmet au client. De cette manière, le client obtient de manière fiable un emplacement préparé par IPv6.

+0

Merci pour la réponse. mais j'ai moins de connaissances sur le côté réseau. Quand vous dites serveur DNS64. Ce serveur ou ce préfixe est-il géré par le système d'exploitation lui-même lorsque nous utilisons l'API ios9 ou que nous avons besoin d'un serveur DNS externe différent pour cela? – xamrine

+0

avec l'aide du domaine, vous pouvez vous connecter –

+0

Merci pour la réponse. Je vais certainement upvote votre réponse une fois que je reçois une réputation suffisante. Merci – xamrine