0
votes

We have a mobile app on iOS (using Swift 2.3) that was submitted since October and in the stores ever since, recently (1 month ago) the app got rejected by Apple reviewer due to the fact that content is not loading when connected to an IPv6 network, they advise you to test it by connecting the app to an IPv6 network, and they have the documentation on how to set it up, which we did and when we connected the app to it the content are loading with slight delay (max 2.5 seconds).

Of course our back-end is on IPv4 network, but as even Apple states that should be no problem since the NAT64 translation happens.

We tried to talk to Apple to get more details but unfortunately its out of their process so they cant help us further.

Some of what we did is:

  • Monitored all traffic from mobile to back-end if any call happens using an IPv4 address and not the DNS (because it will fail for an IPv6), and all good, all goes out with the DNS name.
  • Checked the libraries used if there is a chance they are not supporting IPv6 and nothing came up the list, all good.

We looked into the internet and we couldn't find a factor that might affect Apple's test, its working at our end on an IPv6 network but not at Apple's, we are trying to reproduce the issue with no luck, any information on this topic will be really really helpful as we have to submit the app to the store.

1
Do you use XMPP Framework in the app?Amal T S

1 Answers

0
votes

I have got rejections that read like this and the first time it scared me a lot just the trouble I'd have to go through to test it out, but in truth, they were only saying a screen didn't load for seemingly connectivity reasons. The screen wouldn't load on IPV4 either, but seems they didn't bother to test that much, and the bug was a very silly logic bug not related to IPV6 at all. Another time our prod server was busted at the exact time they tested. Try to figure out if that is not your case too before you get into specifics. You don't normally need to do anything special to support IPV6 if you're using the http networking libraries everyone uses nowadays.