App Store requirements starting June 2016: ipv6

Hi,

anyone knows if this can be a problem with ionic/cordova apps?

https://developer.apple.com/news/?id=05042016a

thanks
marc

I heard the same, any more infos about it?

I don’t think there will be any problems, as a developer we just have to check our code for hard coded IPv4 Addresses. But I am not sure, what Ionic does in the background. Any more infos would be helpful.

after June 1, I submit my ionic app to itunes connect and I got the 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.

I used my domain to access my RESTful api server, my server is not support IPv6, so problem is the server?

otherwise, the angular $http maybe has some issue, I haven’t any idea.

1 Like

i am also facing same problem. Can any one answer this? Thank U.

Same here, any news? otherwise tomorow will be a hard day figuring this out

Yeah… I just tried to submit an app and got the same message.

I’ll be digging into this later tonight but don’t hold your breath for a fix from me. I don’t have much experience working with iOS.

Alright, I set up my mac to be a IPv6 access point and connected my phone to it and the app is working. I don’t know how to completely verify that the device is using IPv6 but I checked out the WiFi settings for the connection.

IP Address - 169.254.161.154
DNS - 2001:2:0:aab1::1

The DNS is for sure IPv6 but the IP address makes me wonder…

I sent a response to the app store about emulating their environment and I’ll update this thread when I get an answer. Hopefully they can point me in a direction so I can actually start debugging this issue.

Hey yall

Hmm, so looking into this, the main thing to make sure is that any end points you have are setup for IPv6.
Ionic it self does not do anything that would cause problems.

For most case things should just work fine. But if there are situations where things aren’t working, you might want to take a look at the end points you’re making requests to and investigate on that end.

If you are facing any issues though, please reply here. I will continue to look into the issue.

UPDATE:

So some more information about what this means for your apps.

As far as any client side code, you’re good! You’re normal $http.gets should work as expected without any issues.

Where this could cause problems is on you own APIs or other API that you are requesting.
If you’re API or endpoint hardcodes the IP, thats we’re the issues could happen.

So for the most part, nothing should change in your Ionic code.
Check with any APIs or endpoints your are making request to to make that they support IPv6.

Cheers!

3 Likes

Yeah… I just got a message from Apple that my app was approved after I responded to their message.

I’m guessing that since this IPv6 testing is new they might have had a bug in their testing workflow.

Anyways, my app should be in the app store tomorrow.

2 Likes

I faced the same problem with you and I guess it shall be the DNS resolution problem.

My domain name failed to pass the test of IPV6 DNS resolution.
http://ipv6-test.com/validate.php

I checked it with the domain name service provider.
The ipv4 A resolution is supported and the ipv6 AAAA resolution is not supported by them.

We are finding another domain name service provider abt it.

Hope it will be helpful to you.

Thanks for help,
Actually my hosting do not support IPv6, but did you know hosting support it?

hi, im facing the same problem - my app was rejected because nothing would happen when they would login to my app for testing. i.e it wouldn’t connect. i’ve tested the app by building it onto my iphone using xcode and testflight and it works for me. is there something i can change in my code so that it connects using IPV6 ??

Some hosts don’t have this as an option in their panel, but if you ask them, they can often activate it for you. Or direct you to instructions for setting it up.

I am facing this issue too. Of the six APIs that I call using $http throughout my app, only one of them passes the http://ipv6-test.com/validate.php test for having AAAA records:

http://npact-prod.apigee.net (my API) - fails
https://crm.zoho.com (Zoho CRM) - fails
https://us9.api.mailchimp.com (Mailchimp) - fails
http://ZiptasticAPI.com - passes!
https://developer.nrel.gov - (Federal Gov’t Agency) - fails
https://api.ionic.io (Ionic itself) - fails

These are major organizations, I find it hard to believe that this is required to get an app through the App Store now.

Is there anything in my code that I can do, seeing as I definitely won’t be able to get these organizations to change their servers any time soon?

Or maybe I am completely misunderstanding the issue. There are definitely no hard-coded IP addresses in my code, but I don’t even know where to start here.

The only one that ios complained about on my setup was the one that prevented moving through the site. The 3rd party services that were running in the background didn’t affect the approval even though they do not have ipv6 set up.

I would email each company and check if they already have some alternate links for the api to run through ipv6, etc. It’s a little extra work for you, but they must be thinking about this. (If not, they will need to soon, bc you’re not the only one with these issues.)

Hi in my case I use Ionic cloud services that the call some ionic backend that is not IPV6 ready. So it is the problem

When Apple are talking about the API’s that should support IPv6 they seem to be talking about their system network API’s.

I have released more than once since and as long as you are not using a plugin (native code) that uses the problematic network API calls in the native parts everything is good.

So if you only use $http to talk to rest API’s via DNS names you are good. Even if the endpoint for the API is not IPv6 ready, none of mine are.

I think that https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html enforces these conclusions.

Hope it helps.

I just got the same rejection message using only the $http API.
I’m using Ionic RC1.

Do you still experience this issue ?

Check all your plugins if they are referencing any suspicious static ip address try to update the plugin still the issue is persist get the exact error from itunes. In my case facebook plugin was causing problem I have modified it as per site specific changes and my app was submitted successfully.

We are facing to this issue too.
Apple said: ‘Specifically, the activity indicator spins indefinitely on launch’

We did not install any plugins since last deploy on 28th october 2016, validated by apple.
Is it possible apple dit not check systematically ipv6 connection between June and October?