Apple rejects Ionic app because on IPv6 communication failure


#1

Hi Ionic & community!
I have developed an application with the Ionic 1.3 which was overall pretty good exerience!
Now after we have conducted internal tests we want to move the application to the production and here we started to encounter problems with the iTunes.
What is happening is that apple keeps rejecting the application because they can not proceed after login. It looks like the application is unable to communicate at all, but no errors (rejected promises) are being raised. They say that they are performing tests on IPv6 network and it is mandatory for the application to be able to communicate on such a network. Well, for me this should be transparent to the programmer…
We have tried to set up the environment based on they recommendations but all our tests ended up with positive results.
After moving the NodeJS server from port 3000 being dirrectly accessed, behind reverse proxy listening on port 80 I run out of any other ideas to solve this.
The only other think that comes to my mind is that there may be something with the Whitelist plugin or that our provider (in Slovakia) somehow restraining IPv6 traffic for some unknown reason. But can’t confirm this.

Regarding whitelist plugin here is the security meta tag form index.html that is being used on production version:

<meta http-equiv="Content-Security-Policy" content="
           script-src 'self' 'unsafe-inline' 'unsafe-eval'
                       http://app.guerillatips.com/gt
                       localhost:*
                       ;
           style-src  'self' 'unsafe-inline'">

apple’s response that’s not changing:

Hello,

We still found the following rejection, while reviewing your app. Please see more details below.

Performance - 2.1

We discovered one or more bugs in your app when reviewed on iPad running iOS 10.2.1 on Wi-Fi connected to an IPv6 network.

Specifically, when selecting “Prihlasit” button upon entering demo credentials no action is provided.

The steps to reproduce are:

  1. Launch the app
  2. Enter demo credentials
  3. Select “Prihlasit”
  4. No action provided

Next Steps

Please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify any issues, then revise and resubmit your app for review.

If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.

For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue. For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue.

Do you have any ideas/experience how to procees on this? I may even grantyou internal tester role to try out…

Thanks for all your insights!


#2

You should test your Endpoint with this web page: https://ip6.nl/#!app.guerillatips.com

As you can see, you don’t have an IPV6 ready service!
You should add an IPV6 DNS AAAA record to the domain.

So it has nothing to do with your NodeJS Code.


#3

good one, but did not help, unfortunatelly… apple rejected it once again with the same message.


#4

is there someone that I can add as a internal tester and try out this thing?


#5

solved. we have been pushing the wrong version of the app… itunes is very messed up indeed.


#6

Please explain how did you solved this ?


#7

how did you solved it