web-dev-qa-db-fra.com

Impossible de reproduire le problème de connexion (IPv6?) Rencontré par l'équipe d'examen de l'App Store

Je rencontre des problèmes IPv6 avec mes applications iOS. Initialement, j'ai soumis quelques jours avant le 1er juin sans connaître l'exigence IPv6 ( https://developer.Apple.com/news/?id=05042016a ).

Ils ont été examinés le 1er juin et rejetés pour incompatibilité IPv6/impossible de se connecter. Je ne voulais pas configurer mon propre réseau IPv6, j'ai donc mis à jour le code pour être conforme - j'ai mis à jour l'accessibilité fournie par Apple vers la dernière version. J'utilise également ma propre bibliothèque de téléchargement écrit par un ancien cofondateur il y a plusieurs années. Il ne se connecte pas aux adresses IP, ou quoi que ce soit Apple recommande contre, donc je n'ai pas décidé de le mettre à jour maintenant. J'utilise également un ancienne version d'AFNetworking.

J'ai soumis à nouveau une application. A été rejeté à nouveau pour la même raison. Je suis allé acheter un adaptateur Thunderbolt et installer IPv6. Maintenant, je me connecte bien à cette application. Je peux également me connecter correctement à une autre application qui a toujours un très vieux code d'accessibilité. Mon principal problème est que je veux qu'il se casse de la même manière que Apple se casse, donc je peux le réparer correctement.

Remarques:

-J'ai d'abord essayé de poster un commentaire sur rejet de l'IPv6 App Store mais c'était trop long. Je suis @andytriboletti sur Twitter, lié par Sean dans cette question.

-J'ai posté cela sur Apple Forums des développeurs, mais il attend toujours son approbation 10 heures plus tard: https://forums.developer.Apple.com/message/141461#141461

-Voici comment j'ai configuré mon réseau IPv6 en utilisant l'adaptateur Ethernet Thunderbolt sur mon Macbook pro. https://developer.Apple.com/library/tvos/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html

-Je teste avec un iPhone 6 exécutant OS 9.3.2. Mon Macbook Pro qui exécute la configuration réseau IPv6 comme décrit dans l'article d'Apple lié à moi exécute 10.11.5.

-J'ai testé la version exacte qui Apple testé. J'utilise buddybuild comme outil d'automatisation de construction, et ils m'ont envoyé un e-mail avec la version qui a été téléchargée sur iTunes connect par eux.

-L'application fait des demandes de réseau à https://greenrobot.com (et inclut également les bibliothèques de publicité et d'analyse). Aucune adresse IP codée en dur dans mon code. GreenRobot semble être configuré pour IPv6: https://ip6.nl/#greenrobot.com

18
Andy

Pour ce que ça vaut, je l'ai vu aussi et comme discuté ici , il y a clairement un écart entre la documentation au 14/06/16 et la configuration de l'équipe de révision des applications.

4
DesignatedNerd

Comme je le soupçonnais, cela n'avait rien à voir avec le code publicitaire et analytique, comme l'ont suggéré les commentateurs. Cela avait à voir avec la compatibilité du serveur avec IPv6. J'utilise Linode. J'ai eu ma mise à niveau d'administrateur de serveur linux vers IPv6 pour moi sur mon serveur. Si la publicité ou les analyses ne se connectaient pas, elles échoueraient silencieusement, il n'y a aucun problème avec le jeu. Le problème était de parler à mon serveur de jeu, qui ne fonctionnait pas uniquement sous IPv6.

Selon la réponse: https://stackoverflow.com/a/37689996/211457 J'ai utilisé ce site pour tester la compatibilité de mon site: http://ready.chair6.net/ = - http://ready.chair6.net/?url=https://greenrobot.com

Fait intéressant, Apple.com, Google.com, Facebook.com, Twitter.com ne sont pas tous conformes. Le seul autre domaine que j'ai pu trouver qui était totalement conforme comme mon site est maintenant arin.net.

Après avoir apporté ces modifications, mon application est maintenant approuvée. Remarque J'ai également ajouté une vérification d'erreur concernant l'absence de connexion et l'affichage d'un écran d'erreur approprié. Mais comme cette autre affiche Stackoverflow avait également des problèmes de serveur IPv6, et il n'est pas très logique que le simple ajout de la vérification des erreurs provoque la connexion soudaine de l'application, je suis assez convaincu qu'il s'agissait d'un problème de serveur.

Une autre chose intéressante est que j'ai parlé à un développeur iOS sur le téléphone qui a approuvé une mise à jour après le 1er juin. Ils utilisent AWS et n'avaient aucune idée de ce dont je parlais concernant AWS ne fonctionnant pas sous IPv6. Très étrange, sauf si Apple ne requiert IPv6 que sur un pourcentage d'applications.

edit: Nouvelles informations: à partir d'un commentaire ci-dessous: "Si votre serveur a un enregistrement IPv6 (c'est-à-dire prétend prendre en charge IPv6), mais que le support IPv6 de votre serveur est cassé, alors cela ne fonctionnera pas sur IPv6 évidemment. Mais si votre serveur ne fonctionne pas" t avoir un enregistrement IPv6 du tout (c'est-à-dire des réclamations sur IPv4 uniquement), cela devrait fonctionner sans aucun problème. "

2
Andy