Cloudflare Jun 7, 2016

Supporting The Transition To IPv6-Only Networking Services For iOS

Article Summary

Dragos Bogdan from Cloudflare tackles Apple's 2016 bombshell: all iOS apps must support IPv6-only networking. Here's why most developers were caught off guard by a protocol that's been around since 1998.

When Apple mandated IPv6 support for App Store submissions in 2016, it forced a reckoning with a 20-year-old protocol sitting at just 10% adoption. This Cloudflare guide breaks down the technical debt, translation challenges, and practical migration steps for iOS developers facing the deadline.

Key Takeaways

Critical Insight

iOS developers can meet Apple's IPv6 requirement by eliminating IP literals, using high-level networking APIs, and leveraging translation gateways for legacy systems.

The article reveals a clever hashing trick that lets legacy IPv4 apps work in IPv6 environments without touching a single line of code.

About This Article

Problem

IPv4 addresses ran out on January 31, 2011 at the IANA level and September 24, 2015 at ARIN. This shortage pushed the internet toward IPv6's 128-bit addressing scheme, which was needed to handle billions of new connected devices.

Solution

Dragos Bogdan's Cloudflare guide suggests developers stop using hard-coded IP addresses and use domain names instead. It also recommends adopting Apple's NSURLSession and CFNetwork APIs, along with graceful failure handling rather than checking network reachability upfront.

Impact

Cloudflare's Pseudo IPv4 feature takes IPv6 requests and generates deterministic Class E addresses through hashing. It creates 268,435,456 unique addresses, allowing older IPv4 applications to work without code changes by injecting headers or overwriting values.

Related Articles