Apple Will Require IPv6 Support For All iOS 9 Apps

Because IPv6 support is so critical to ensuring your applications work across the world for every customer, we are making it an AppStore submission requirement, starting with iOS 9.”  With those words, Sebastien Marineau, Apple’s VP of Core OS, gave a huge boost to IPv6 developer support in Apple’s WWDC Platform State Of The Union (SOTU) address yesterday.

You can watch the Platform SOTU presentation yourself (although you may need the Safari browser to do so). The IPv6 segment begins at 34:16 and Marineau’s statement about the AppStore requirement can be heard at 37:16.

UPDATE: The video of the longer WWDC session about IPv6 is available – and we’ve also captured some of the most important screenshots.

Here, though, is the quick summary.

Why IPv6?

Sebastien Marineau began by talking about IPv6 and why it is important:

Apple IPv6 support

more on IPv6 support

In particular he noted that carriers in several regions of the world are now deploying IPv6-only networks and emphasized the importance of making your application work well for everyone, everywhere.  He reinforced how critical it is to support IPv6:

“If your application doesn’t work properly with IPv6, it will simply not function on those networks, those carriers and for those customers.”

He also explained how Apple has supported IPv6 for over ten years now since early versions of Mac OS X and from iOS 4 onward.

3 Steps For Developers

He went on to explain three steps all developers can take to make sure their applications work over IPv6 networks:

3 steps to make an app work with IPv6

Those steps are:

  • Use the networking frameworks (for example, “NSURLSession”)
  • Avoid use of IPv4-specific APIs
  • Avoid hard-coded IP addresses

Essentially, if app developers are using the higher level APIs and frameworks and aren’t hacking around at the IP layer, their apps should probably “just work” on top of either IPv4 or IPv6.

This is an important point – most iOS developers probably do not need to do anything on the development side. Assuming they have followed best practices in coding and are using the iOS networking frameworks, they should be all set.  Some developers, though, may be using lower level APIs that may involve direct usage of IPv4 addresses. Some developers may also be using the user’s IPv4 address as an identifier or for logging or configuration purposes.

But again, most iOS developers probably don’t need to change their code to support IPv6.

Testing Your App Over IPv6

However, Martineau addressed the question of “how do you test your app over IPv6?“, particularly when many app developers may not have access to a native IPv6 Internet connection.  He indicated that in an upcoming release of Mac OS X there will be a new feature to help with this:

IPv6-only personal hotspot

What I understood Martineau to say was that you will be able to set up a “personal WiFi hotspot” on your Mac and check an “IPv6-only” box.  Your iPhone/iPad with your app could then connect to that specific WiFi network to work in an IPv6-only mode.  The Mac would then provide the gateway to the legacy IPv4 Internet so that the app on the IPv6-only network could connect out to services on IPv4 servers.

THIS IS HUGE! One of the struggles many application developers have had is to easily create an “IPv6-only” network in which to test systems.  Even those of us who are IPv6 advocates/enthusiasts have struggled with making this work well.  It typically involves bringing up a second access point (which you are effectively doing with this new configuration) and then turning off all IPv4 services on that access point, which some access points make difficult to do.

Whenever this feature rolls out in Mac OS X, it will greatly help all of us who are working on apps and systems and want to test them in an IPv6-only environment.

An Important Step

Now, to be clear, most iOS app developers probably won’t have to do all that much to support IPv6.  If they are already using the higher level APIs and networking frameworks they should be all set.  The exact mechanisms of IP address handling are not a concern of theirs.  However, some app developers will have to make some changes, particularly if they are directly using IPv4 addresses as any kind of identifier or in logging.

More importantly, the requirement for AppStore submission will require app developers to test their applications with IPv6 networks, and that alone will suddenly cause the millions of iOS app developers out there to have to learn at least something about IPv6 (if nothing else, the fact that it exists).

Most significantly, though, this step by Apple means that all the iOS apps that run on iOS 9 will work well over the IPv6-only networks that are starting to be deployed.  Even in dual-stack (IPv6/IPv4) networks, this should mean that iOS 9 apps will work better in those environments when, for instance, IPv6 may be faster. (More needs to be understood here about the specifics of the IPv6 support.)

And… this also will help take away the argument used by some network operators who are still not moving ahead with IPv6 that “why should we deploy IPv6 when apps don’t support it?”

Apple’s answer is that, as of iOS 9, all iPhone/iPad apps will support IPv6!

Kudos to Apple for taking these steps, creating this new AppStore submission requirement, and also providing what sounds like a new and easy way to create IPv6-only networks!

We’re looking forward to iOS users being able to use ALL their favorite applications on an IPv6-only network!

UPDATE #1:  Discussions on this post can be found at:

Other articles related to this topic:

UPDATE #2: By way of a tweet I have learned that there is a session at WWDC on Friday, June 12, 2015, about “Your App and Next Generation Networks” that will apparently have more info about IPv6 support.

UPDATE #3 – 19 June 2015: The video of this “Your App and Next Generation Networks” session at WWDC is now available – in the post I link to, I include a number of screenshots about the session.

P.S. If you want to get started with IPv6, please visit our Start Here page to find resources tailored for your role or type of organization.  The time to make the move to IPv6 is TODAY!

Also, hat tip to Adam Iredale on Twitter, who first brought this new requirement to my attention, and to Borja Reinares who provided some more information.

June 10th, 2015 by | Posted in Developers, IPv6, Testing, Tools | Tags: , , | 16 Comments

16 Responses to Apple Will Require IPv6 Support For All iOS 9 Apps

  1. John Kilpatrick says:

    ” One of the struggles many application developers have had is to easily create an “IPv6-only” network in which to test systems.”

    I am a network engineer. I created a IPv6-only network for my employer. It was a huge challenge, mostly because of the need to support Android. The iOS/Macs worked no problem…

  2. Aziz K says:

    I don’t really get why app developers should even bother about IPv6 support. I would think that it’s mostly network engineers and developers of lower level stacks which should be blaimed for IPv6’s failure.

    • Dan York says:

      Aziz, ideally app developers shouldn’t have to bother with IPv6. If the developers have built their apps using the network APIs and have not stored IP addresses or anything like that, their apps should “just work” on IPv6. However, some developers do store IP addresses for various reasons. It might be a hard-coded IP address to connect to a server. It might be for logging… or who knows what. THOSE apps are the ones that will need to change.

    • Andre says:

      They should bother, because they should care their applications work in all common scenarios, as well as the known edge cases. Its about quality assurance and making sure things ‘just work’ to the user.

      We are just about hitting the point where will see some networks being IPv6 connectivity only, especially in Asia. If your application doesn’t work there, then you are potentially losing customers.

      Sure IPv6 is ‘boring’ infrastructure issues, but not having a functioning application results is ‘boring’ support issues.

  3. Brad Smith says:

    Android 5.0 and up works fine with an IPv6-only network.

  4. […] more info about Apple’s new requirement for IPv6 support in iOS 9 applications?  At last week’s WWDC on Friday, June 12, 2015, the session “Your App and Next Generation […]

  5. […] In wenigen Wochen will die Telekom ihr Mobilfunknetz komplett auf IPv6 umgestellt haben: Deutsche Telekom stellt im Mobilfunk auf IPv6 um. Ja grandios, dann werde ich ab Herbst mit dem iPad Air 2 und iOS9 wohl IPv6 nutzen: Apple Will Require IPv6 Support For All iOS 9 Apps. […]

  6. […] month, Apple announced that all iOS9 apps need to be "IPv6 […]

  7. […] at their June 2015 WWDC event, Apple announced that all iOS 9 applications must support IPv6. This week Apple declared that as of June 1 all apps submitted to the AppStore MUST support […]

  8. IPv4 says "Get off my Lawn IPv6" says:

    So what are industries supposed to do when their hardware is specifically designed to operate ONLY on IPV4 WiFi? Where redesigns would, at minimum, cost millions of dollars? Not use Apple products for their APP development? Because that’s what it sounds like they are saying.

    • Dan York says:

      In reading their documentation, Apple seems to be requiring that the iOS application work in an “IPv6-only” network … where that network is defined as “A DNS64/NAT64 network is an IPv6-only network that continues to provide access to IPv4 content through translation.“. In other words, the application needs to be able to:

      1. use DNS over IPv6 to get IP addresses; and
      2. use IPv6 to connect to a NAT64 gateway that will translate to IPv4

      Apple does NOT currently seem to be requiring the application to connect back to its web site / service or other devices using IPv6.


      Eventually it would make sense to do so… but right now Apple is only requiring that the app can work in such an environment.

      Now… whether the app ever uses that IPv6 capability if it only talks to IPv4-only devices is a different question.

      • andre says:

        It comes down to user experience. The user should never need to know whether the underlying infrastructure is IPv4 or IPv6. From the user’s point of view ‘everything just works’. By ensuring app developers get in the game early the risk of breakage is reduced (an hence support tickets) because the changes were anticipated

        • IPv4 says "Get off my Lawn IPv6" says:

          That still doesn’t resolve the problem when a customer wants to attach an apple device to hardware which only supports IPv4 and which does not access a DNS at all because it is intentionally not attached to an ISP. How is a product supporter supposed to resolve that for their customer?

          • andre says:

            If it is an Apple device then it may well support mDNS. IPv4 support will be there for a good few years. Apple isn’t discontinuing support for IPv4, rather they simply indicate that the app must also run when only IPv6 is available.

  9. […] to the AppStore MUST support IPv6-only networking. Back at their June 2015 WWDC event, Apple announced that all iOS 9 applications must support IPv6 — the news this week is reinforcing that requirement. From Apple’s blog […]

Leave a Reply

Your email address will not be published. Required fields are marked *