2017-06-29 1 views
1

Je crée un jeu web pour Android/iOS en utilisant Heroku + Express + Socket.io + Cordova. Côté serveur, j'ai créé et déployé une application Heroku avec mon code serveur. J'ai récemment soumis mon jeu à l'App Store d'Apple et il a été rejeté pour ne pas supporter IPV6.Application Heroku prenant en charge IPV6

Actuellement, mon serveur express écoute les connexions comme ceci:

var app = require('express')(); 
var server = require('http').createServer(app); 
var io = require('socket.io').listen(server); 

var port = process.env.PORT || 5000; 
server.listen(port, '::', function(){ 
    console.log("Game server is running on port " + port); 
}); 

Du côté client, je me connecte au serveur heroku comme ceci:

var socket = require('socket.io-client'); 

socket = socket('https://[app-name].herokuapp.com'); 

[app-name] est le nom de l'application que j'ai choisi à Heroku. Cela a fonctionné très bien sur mon téléphone Android et divers iPhones, mais les testeurs d'Apple disent qu'ils ne peuvent pas se connecter au serveur via IPV6. D'après ce que j'ai compris, je pense que le nom de domaine Heroku ne prend pas en charge IPV6 donc je pense que je dois enregistrer un nom de domaine qui supporte IPV6 et acheminer le trafic vers mon serveur Heroku via un CDN. Est-ce la meilleure façon de permettre à mon application de prendre en charge IPV6?

Je suis très nouveau dans la création d'applications web (et plus encore dans leur déploiement). Ce sera la première fois que je travaille avec des domaines, donc mes excuses si c'est un problème plutôt basique. Toute aide est appréciée. Je vous remercie.

+0

un peu de chance avec ce @ utilisateur577317? Courir dans le même numéro – adlondon

+1

@adlondon Demandez à Apple de le tester à nouveau. Après des jours de recherches sur ce problème, je n'ai pas trouvé de correctifs de code/config, j'ai donc demandé à l'assistance Apple de le tester à nouveau et ça a réussi. – user577317

+0

Génial, c'est un peu ce que je pense aussi. J'ai soumis deux applications simultanément (une application pour les consommateurs et une application pour les clients) et une a été approuvée, l'autre non. Les deux utilisent le même backend, donc je vais essayer après les vacances. – adlondon

Répondre

0

Moi aussi, je faisais face au même problème. J'ai répondu à l'équipe de révision pour tester à nouveau la construction de l'application et pour me fournir des journaux de plantage.

Et avec un jour, mon application est approuvée pour la distribution.

Donc, si quelqu'un rencontre le même problème, assurez-vous de tester votre application par rapport au hotspot IPv6 WiFi (Apple source).

Si cela a fonctionné avec cet environnement, répondez à l'équipe de révision de l'application pour qu'elle revoie l'application en fonction de l'environnement suggéré. Très probablement votre application sera approuvée après cela :)

Espérons que cela pourrait aider quelqu'un. Upvote si cela répond à votre problème. :)

Merci à @ utilisateur577317.

TL; DR

[Motif du rejet d'Apple pour mon cas]

Ligne directrice 2.1 - Performance - App Exhaustivité

Nous avons découvert un ou plusieurs bugs dans votre application lorsque revue sur iPad sous iOS 11.2 sur Wi-Fi connecté à un réseau IPv6. En particulier, votre application ne répondait pas lors du lancement.

Veuillez voir les captures d'écran ci-jointes pour plus de détails.

[Je leur répondrai]

L'application (Binary (0.0.xxxxx)) fonctionne bien dans notre course iOS iPad et iPhone 11.2.1.

... MON EXPLICATION DÉTAILLÉE SUR COMMENT JE TESTE L'APP ...

Pouvez-vous s'il vous plaît revoir à nouveau avec le binaire (0.0.xxxxx)?

Est-il possible pour nous d'obtenir le journal de l'accident, le cas échéant?