by Cesare Rocchi

Supporting IPv6 Networks

by Cesare Rocchi

Tags: iOS App store

In my list of transitions I forgot to mention IPv6 support. Mostly because I didn’t stumble upon it. Until today.

I knew it was announced. I just didn’t recall when it was the deadline. It was June 1st 2016. From that day on every iOS (and maybe Mac app?) has to support IPv6.

So yesterday I submitted an app for a client and my jaw dropped when it was rejected because it didn’t support IPv6. Not because I didn’t expect it, but because the app doesn’t connect to the web. There’s no usage of NSURLConnection nor CFHTTPMessage. How come?

Then Matthijs posed an innocent question: “are you using an analytics library?” Yep, I was using Google Analytics.

Since I already agreed with the client to use Google Analytics I didn’t want to propose a change so I invested some time trying to find out whether IPv6 was supported by Google’s library.

After one hour I didn’t find an answer. The Podspec points to a gzipped file that includes just the headers. Not very helpful.

While searching I also realized that I was using Crashlytics to catch crashes and so I checked it as well. Luckily it fully supports IPv6.

Then the insight. “I am already using Crashlytics, I can use Answers”. I sent a quick message to the client. He immediately loved the Answers dashboard. Five minutes later I already swapped Google’s library with Answers.

Luckily that was the only dependency I had but I don’t want to be in the shoes of those who have many and have to test them against an IPv6 network.

I wish there was an automatic way to check this compatibility before submitting an app to the store.

In case you are testing, have a look at the misadventure that my friend Ellen had a few weeks ago in setting up a test environment.