People commenting here need to work on their reading comprehension. Apple is not dropping support for IPv4. They are simply requiring that all apps <i>also</i> support IPv6. The headline is confusing because of "only." But it's way different than if it read "iOS supporting only IPv6" as some comments seem to be implying. The change is that when a network is IPv6 only, apps must function properly, whereas previously Apple tolerated apps that only worked on IPv4. A better headline might be "Apple bans apps that only support IPv4." (*Edited, guess it's not so easy to write the headline. :) )
In some sense it is nice to see a push for progress on IPv6. And yet, it is also <i>painfully</i> clear that these networks are not ready, even for the big sites like Google.<p>For instance, there are Google machines that are apparently IPv6 only. Over the last several <i>months</i> I have had major issues reaching Google domains like Google.com, YouTube, etc. from my home Internet. It will either work seamlessly, or hang seemingly forever when trying to look up one of the URLs (which is oh so fun when I am trying to search Google frequently). It only hangs for Google domains.<p>I dug up a forum post that was over a YEAR old where people finally figured out that all of this crap was due to <i>IPv6</i>! They were literally turning off IPv6 entirely on their Macs in order to make Google searches work again. The symptom is a trace-route stumbling on the way to 1e100.net (one of Google’s backbone domains). Sadly, I can imagine people screaming at their ISPs over stuff like this.<p>I haven’t gone as far as to kill all of my IPv6 connections but I do have to turn off WiFi and turn it back on to force some kind of a network reset whenever this shit starts happening on my MacBook. Even then, the problem will eventually return, and is pretty much guaranteed to return by closing the lid and coming back later (how foolish of me to expect the Internet to be useful when I open the lid?). Networking on the Mac is a mess, to say the least. Even if this isn’t entirely Apple’s fault, it is entirely their problem for having poor fault-tolerance. For instance, if I were them the first thing I’d do is write a script to turn off the WiFi and turn it back on in case of a problem, since that seems to solve 90% of issues all by itself.
The negative thing about this is that they don't use a XLAT464 resolver. With DNS64, they break DNSSEC. Android has an built-in XLAT464 resolver since version 4.1 IIRC. So a carrier can't choose for this as long as there is a vendor (Apple) that don't support it.<p>T-Mobile in the USA is currently using such a network, which is the best transition method in my opinion.
How do people plan to test their apps continue to work when this change goes out?<p>I guess running the phone on an IPV6 only network and confirming it works would be all it takes?<p>I'm sure there are things I'm missing, what are others doing?
They have postponed a little bit the deadline, I think it was originally set for September 2015. I saw they added some features in getaddrinfo() in iOS 9.2 and OS X 10.11.something, so they were probably postponing to make sure developers had all the right tools for the different situations.
I've been using NAT64 at home for a few years now. Most apps out there handle IPv6-only just fine, with steam and videogames being the exception.<p>A few older android phones had some issues, and I believe not MS product has ever worked (but these were all guests, so I didn't really bother much).<p>I'm amazed that this requirement is coming so late to iOS, seeing how (supposedly), apple tends so much to the quality of their apps.
Does this impact the reachabilityForLocalWiFi method in apple's Reachability sample, which appears to use an IPV4 address internally:<p>// IN_LINKLOCALNETNUM is defined in <netinet/in.h> as 169.254.0.0.<p>localWifiAddress.sin_addr.s_addr = htonl(IN_LINKLOCALNETNUM);
For those confused on how to add IPv6 support:<p>Assuming no hosting issues, when you find out your IPv6 address, simply add it as a AAAA record in your DNS entry like you would for an A record.
I would be glad if apple products supported any network without all the constant disconnects and link level problems. Especially shocking as the BSD underlying stack is robust, it is all the Cupertino crap on top, the "helper" daemons that are to blame!