About iOS IPv6 network with ionic framework

2019-02-05 00:50发布

问题:

Yesterday, I submit my app for review, but I got a message from apple.

Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required.

For additional information about supporting IPv6 Networks, please refer to Supporting iPv6 DNS64/NAT64 Networks.

For a networking overview, see About Networking.

My app is used ionic framework, how can I fix this problem.

I already used domain to access my server, but this problem still exist.

回答1:

Finally, I used this plugin cordova-HTTP

the last version this used the AFNetworking v3.1.0

then, add some code to solving my networking issue

// using AFNetworking if on iOS device
if ($window.cordova && ionic.Platform.isIOS()) {
    // $window.CordovaHttpPlugin.get
    // $window.CordovaHttpPlugin.post
    // or
    // cordovaHTTP.get
    // cordovaHTTP.post
} else {
    // $http.get
    // $http.post
}


回答2:

I had that problem too (kind of) but I didnt know that was only happening in iOS10, in fact the app was working in iOS 9.2 and under (real device and simulator). I discover this issue submitting the app to AppStore (just the same as a week before, and this one was approved). They just rejected the app because of "The app is not supporting IPv6 connections"...it was great :____D , we changed all the server side, not literal IP use, at the end, we leave the server ready to support IPv6 and passing all the tests. We submitted again the app... and...they just rejected the app because of "The app is not supporting IPv6 connections". It was unbelievable...

Finally in an act of despair and after 100 absurd tests and even having read some similar cases of rejection I just did an update of my simulator version, in order to use the app under other version of iOS. I was realized that the problem was only for iOS 10+. And here is the problem: after June 16, Apple have changed their policies and they only support now IPv6 connections, despite that everybody says that you should update the meta tag "Content-Security-Policy" after that change, it's not true, at least in my case. Finally I only could compile and test the app normally (in iOS10) without this meta tag.

PD. Yesterday I have submitted a change in my app, Apple rejected the app again because the IPv6 connections issue...Then, I changed my version, I compiled the app again...without a single change in the code and then I have submitted again to AppStore...and "voila"...they have accepted the same app rejected before...

hope it helps!



回答3:

No need to make changes in your app code.

You have to check on API server have to support IPv6 Network.

Please find details -- http://www.internetsociety.org/deploy360/blog/2016/05/starting-june-1-apple-requires-all-ios-apps-to-work-in-ipv6-only-networks/?gclid=CK6K9ZfWgNMCFUoXaAodkuoGhw



回答4:

If your app should connect to a backend server/API, you should test if is working in IPV6 mode, we had that issue. Update your server network configuration and DNS rules, then you can use a tool like this for ping tests https://centralops.net/co/Ping.aspx