ipv6 REQUIRED as of June 1.

So, I just read the latest news in the member center and it says:

"Starting June 1, 2016 all apps submitted to the App Store must support

IPv6-only networking. Most apps will not require any changes because

IPv6 is already supported by NSURLSession and CFNetwork APIs."


While I don't have a major issue with this, outside of the fact that ipv6

is not supported by any of the major ISPs in my area. But, I am concerned

about one of my apps in particular which displays the ipv4 address internal

and external. I can't switch this to ipv6 because it simply won't work on the

majority of networks currently in use. Yes, I thought ahead and already have

a code branch in the existing app to show ipv6 addresses but, it's not enabled

because there is no way to test it.


Any suggestions?

Replies

This has nothing to do with "switching to IPv6". It has to do with making sure your app works when on an IPv6 network. If you want to show an address, that's fine. You can show an IPv6 address when on an IPv6-only network, show an IPv4 address when on an IPv4-only network, and show both IPv4 and IPv6 addresses on a network with both IPv4 and IPv6.

Unfortunately, that isn't possible. It is an either/or situation. The device can present

either, dependant on the network available to it but, there is no way to determine this

at runtime. This is further complicated by the need to provide external processes to

determine outside addresses. Which means server side processing which may or

may not, deliver ipv6 data.

The device can present either, dependant on the network available to it …

By device, do you mean the iOS device? Or is there some other hardware involved here?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Does "IPv6-only networking" mean, that server side should support cases when client ISP does not provide 6to4 ?

Because in this case every app service provider should get IPv6 addresses, make it's server side work with it and maybe even change ISP's.

It's pain, but I agree it's progress 🙂

iOS devices and OS X devices. Many ISPs in both the US and globally still do not

support IPv6. A ton of hardware (routers, switches, modems) don't support IPv6.

WHile its true that such support is coming, it isn't there yet.

>it's not enabled because there is no way to test it.


If you mean while running via Xcode, pls. file a bug/feature request to have Network Link Conditioner support IPv6-only testing...


I would be interesting if an iOS network util could do this too, tho 😉

Does "IPv6-only networking" mean, that server side should support cases when client ISP does not provide 6to4 ?

No.

The announcement referenced two resources, one text and one video, that clarify the background to this issue.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

iOS devices and OS X devices.

OK, this sounds like a complex case. Please walk us through how the whole process works.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hello eskimo,


Sorry to ask, but could you confirm this again?


Because the doc shows two main bullet points, and the second one says : "If you’re writing a server-side app or other low-level networking app, you need to make sure your socket code works correctly with both IPv4 and IPv6 addresses."


This is confusing, and I've seen some people on the web starting to freak out about this, on AWS' forums for example.


Thanks,

Pierre-Yves

Sorry to ask, but could you confirm this again?

I’m not sure what you’re asking me to confirm.

Just FYI, I’ve created a pinned post about this topic and I’ll update it when I have official information to share.

Because the doc shows two main bullet points, and the second one says: "If you’re writing a server-side app or other low-level networking app, you need to make sure your socket code works correctly with both IPv4 and IPv6 addresses."

This is confusing, and I've seen some people on the web starting to freak out about this, on AWS' forums for example.

I’m not sure I understand the concern here. That doc is talking about creating server apps for iOS, and yes, those should support IPv6.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

No. This has nothing to do with server side. The server side can still use only IPv4. Clients on IPv6-only networks can still connect to IPv4-only servers. That's the whole point of DNS64/NAT64.

If the ISP doesn't have IPv6, then great, you don't have any problems.


This requirement is just to make sure that your app works correctly if it is used on an IPv6-only ISP.

How can we create a 6TO4 Tunnel on iOS SDK Wise ? Can anyone point to anything on this topic ?