Our update has been rejected twice today for ipv6 network connectivity issues. Our networking code has not changed between the previous release and this current release.
You can check your API in below website, is your API iPV6 configure or not!
http://ipv6-test.com/validate.php
Please note that Supporting IPv6-only Networks and IPv6 and App Review link can be very helpful in determining what's the problem with apple rejections. In this specific case the articles clearly state that you can setup the DNS64/NAT64 test network but that "This test network is not exactly the same as the network used by App Review", that's why everything can work in the test environment and still have the app rejected.
Moreover:
The App Review network, like the networks deployed by service providers, does support IPv6-to-IPv6 connectivity. Thus, if your server supports IPv6, your app will talk to it directly, without going through the NAT64 translator. This is, in general, a good thing, but it can trip you up if your server claims to support IPv6 but that IPv6 support is broken. For example, if: the DNS name is incorrect the DNS is correct but the server is not listening on IPv6 the server is listening on IPv6 but fails when a request comes in over IPv6
So if your backend server has support for IPv6 the apple test network will use it, and it is what has been wrong in this case.
I add this as a reference and starting point for other users that experience the same problem
This is 2nd time i have encountered this issue after 6 month. Previously it was in Objective-C project using AFNetworking and i used this solution and it worked on one go. Now same happened with Alamofire. Guys this solution is worked for me 2 times and i found this question is coming first in google so i am posting the answer.
Search in the workspace for AF_INET and change it to AF_INET6 anywhere you found. I think it must be inside the AFNetworking library or Alamofire library if you are using it. Its in the NetworkReachabilityManager class.
I found this answer from the below source.
https://stackoverflow.com/a/38196337/4030971
EDIT: - 24th June -
This helped me so many times but there is a strange solution to this problem also. In our recent project we have applied this solution but still apple rejected the application. Then we made a video which was showing that the app is running fine with connected to a NAT64 network created on a Mac from wifi sharing option. We appealed for review with the video and they approved the application. So if you are done with all your options, try this one too.
I solved the problem by sending them a video, showing that my app works on ipv6.
After quite a bit of stress, I can confirm that the issue was a problem with our backend not being correctly configured for IPv6. Apparently, AWS doesn't support IPv6, nor IPv6-only DNS through Route53. I ended up moving all the internet facing bits of the backend away from AWS for the time being.
I wanted to leave this up because I think there are probably going to be others who find themselves with similar problems as people start submitting updates past the IPv6-only restriction. The best tool I found for testing server/dns readiness has been: http://ready.chair6.net/
Reachability library must support IPv6 network settings. So use this Reachability class.
https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007324