Deploy360 5 May 2016

Starting June 1, Apple Requires All iOS Apps To Work in IPv6-ONLY Networks

By Dan YorkSenior Advisor

Apple iOS 9 logoBack 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 IPv6-only networking.  From Apple’s blog post:

At WWDC 2015 we announced the transition to IPv6-only network services in iOS 9. 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.

If your app uses IPv4-specific APIs or hard-coded IP addresses, you will need to make some changes.

As Apple continues to point out, the vast majority of application developers will not need to do anything to support IPv6.  If developers use the standard networking APIs provided by Apple, they should not experience any problems in an IPv6-only network.  It should “just work”.  It’s only when developers use IPv4-specific APIs or addresses that there is a problem.

Why This Matters

This is an extremely important step.  As I wrote last year after WWDC 2015, this requirement means that iOS apps will work in the IPv6-only networks that we are starting to see appear.

More than that, this requirement will drive millions of developers to test their apps in an IPv6-only network.  This kind of testing will increase basic knowledge developers have of IPv6 – and will lead to better networking knowledge all around.

Additionally, if the app connects back to a web site or service, this requirement may encourage developers to understand what they need to do to make that site / service reachable via IPv6. It seems that Apple may be testing for an “IPv6-only” network that also has IPv4-translation at the edge.  From Apple’s developer documentation:

“A DNS64/NAT64 network is an IPv6-only network that continues to provide access to IPv4 content through translation.”

So to meet the June 1 requirement, apps may only need to:

  1. work over IPv6 network connections; and
  2. use DNS over IPv6.

At the current time it appears that the site / service to which an application connects will NOT need to be reachable over IPv6 because of the ability to use IPv4 translation.  However, developers may want to explore what they need to do to be reachable over IPv6 as that may be simpler and faster than dealing with IPv4 translation.

Eventually the sites and services will need to be reachable over IPv6 – and so this requirement may drive more requests for IPv6 connectivity to ISPs and other hosting providers.

All in all it is a great move to help drive IPv6 usage!

Getting Help

Apple suggested that people read their developer documentation “Supporting IPv6 DNS64/NAT64 Networks” and watch the WWDC 2015 video “Your App and Next Generation Networks“.  I previously provided a summary of this video along with screenshots of the major points.

We would of course also suggest you visit our Start Here page to find IPv6 resources for your type of organization. Specifically for app developers we suggest:

The key point is to start NOW if you haven’t already, as any AppStore submissions after June 1 will require IPv6-only testing.

Thank you, Apple, for making this hard requirement!  It will only help as we continue to work to transition the Internet from the “beta” of IPv4 to the “production” IPv6 network!


More discussion of this topic:

 

Disclaimer: Viewpoints expressed in this post are those of the author and may or may not reflect official Internet Society positions.

Related Posts

Improving Technical Security 15 March 2019

DNS Privacy Frequently Asked Questions (FAQ)

We previously posted about how the DNS does not inherently employ any mechanisms to provide confidentiality for DNS transactions,...

Improving Technical Security 14 March 2019

Introduction to DNS Privacy

Almost every time we use an Internet application, it starts with a DNS (Domain Name System) transaction to map...

Improving Technical Security 13 March 2019

IPv6 Security for IPv4 Engineers

It is often argued that IPv4 practices should be forgotten when deploying IPv6, as after all IPv6 is a...