Application rejected by Apple IPv6 error

3

I developed a hybrid application using Ionic and when I sent it to the Apple Store review it was rejected, I got the following error message:

  

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

     

Specifically, after we launched your app, an error message appeared.

     

The steps to reproduce are:

     
  • Launch app
  •   
  • Note error message
  •   

    They say that IPv6 support is needed, but that's all they say, without giving any more useful information. I can not test the app on an IPv6 network at the moment. I have already seen how it does to connect one on the mac, but I do not have an adapter for network cable, I use WiFi only.

    I researched a lot and saw several responses saying it was an error in the way requests are made to the APIs / servers or a configuration error on the server / API itself.

    I do not know how to solve this, the app usually runs under normal conditions (IPv4 in an IP network) without any problem, everything is perfect.

        
    asked by anonymous 05.09.2016 / 21:25

    2 answers

    3

    I was able to solve the problem!

    The app had no problems since I followed all the References of apple for IPv6 support. The issue was that my server, where the app made the requests, was not configured to support IPv6, so it was a blessed mistake! It took time to drop the plug, but after so much searching the net it worked.

    So if someone has the same problem, be sure to follow Apple's standards, and especially see if the server supports IPv6 . If it is external hosting, as was the case with me, just contact your hosting team to see how to enable IPv6 support.

    Thanks to everyone who gave tips there!

        
    14.09.2016 / 21:11
    0

    As this link answer you can solve in the cordova using this plugin cordova-HTTP , which is using AFNetworking v3.1.0

    And you can do something like:

    // usa AFNetworking se for iOS device
    if ($window.cordova && ionic.Platform.isIOS()) {
        // $window.CordovaHttpPlugin.get
        // $window.CordovaHttpPlugin.post
        // ou
        // cordovaHTTP.get
        // cordovaHTTP.post
    } else {
        // $http.get
        // $http.post
    }
    

    How to test if I'm using IPV6

    This seems to be the same problem link

    According to with Apple's policy , your application will need support for IPV6

    To test whether your application supports IPV6 or do not use this #

    To do this check you will need to follow the steps indicated on the Apple page.

    To configure IPV6 on your local Wi-Fi network you will need to use your Mac:

    1) Connect your Mac to another network that is not Wi-Gi using network cable for example.

    2)GotoSystemPreferencesintheDock,LaunchPad,orthemenu.

    3)PressOptionandclickSharing.DonotreleasetheOptionbutton

    4)SelectInternetSharingfromthelistofservicessharingservices.

    5)ReleasetheOptionbutton

    6)SelecttheCreateNAT64Networkcheckbox.

    7)ChoosetheInternetinterfacethatwillprovidetheconnectiontotheInternet,suchasThunderboltEthernetorjustEthernet.

    8)SelecttheWi-Ficheckbox.

    9)ClickWi-FiOptionsandconfigurethenameandsecurityoptionsofyournetwork.

    10)SelecttheInternetSharingcheckboxanddialyourlocalconnection.

    11)WhenawindowappearstoconfirmifyouwanttoshareclickStart

    12)NowyourMacwillfunctionasahotspotandwilluseIPv6NAT64

    NowconnectyouriPhonetoyourMacandtestifyourapplicationworksasexpected.

    Onedetail,donotforgettoaddthefollowingframeworks:

    1)WebKit

    2)CFNetwork

        
    07.09.2016 / 07:00