Reputation: 51
I'm creating a web game for Android/iOS using Heroku + Express + Socket.io + Cordova. On the server side, I have created and deployed a Heroku app with my server code. I recently submitted my game to the Apple app store and it got rejected for not supporting IPV6.
Currently, my Express server listens for connections like so:
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);
});
On the client side, I am connecting to the heroku server like so:
var socket = require('socket.io-client');
socket = socket('https://[app-name].herokuapp.com');
[app-name] is the application name I have chosen in Heroku. This has worked fine on my Android phone and various iPhones, but Apple's testers say they cannot connect to the server through IPV6. From what I have gathered, I think the domain name Heroku gave me does not support IPV6 so I think I need to register a domain name that does support IPV6 and route traffic to my Heroku server via a CDN. Is this the best way to allow my app to support IPV6?
I am very new at creating web applications (and more so deploying them). This will be the first time I work with domains so my apologies if this is a rather basic problem. Any help is appreciated. Thank you.
Upvotes: 1
Views: 1455
Reputation: 2809
I too faced the same issue. I replied the review team to test the app build again and to provide me crash logs.
And withing a day, my app is approved for distribution.
So if anyone facing the same issue, make sure you test your app against IPv6 WiFi hotspot (Apple source).
If it worked with that environment, reply app review team to review again as it worked with the suggested environment. Most probably your app will get approved after that :)
Hope it might help someone. Upvote if it answered your issue. :)
Thanks to @user577317.
TL;DR
[Rejection reason from Apple for my case]
Guideline 2.1 - Performance - App Completeness
We discovered one or more bugs in your app when reviewed on iPad running iOS 11.2 on Wi-Fi connected to an IPv6 network.
Specifically, your app was unresponsive upon launch.
Please see attached screenshots for details.
[My reply to them]
The app (Binary (0.0.xxxxx)) is working fine in our iPad and iPhone running iOS 11.2.1.
... MY DETAILED EXPLANATION ON HOW I TESTED THE APP ...
Can you please review again with the Binary (0.0.xxxxx)?
Is it possible for us to get the crash log, if any?
Upvotes: 0