Well that was quick. A couple of days after a bug affecting iOS started making the news, Apple has released a fix. iOS 9.3.1, now available on the iPhone and iPad, fixes this bug. The changelog is quite short as there’s only one item. “Fixes an issue that caused apps to be unresponsive after tapping on links in Safari and other apps,” it says.
As a reminder, many users reported on Apple’s forums that Safari or any other app would crash if they tapped on a link. It turns out some third-party app developers started abusing an iOS 9 feature, universal links. The bug wasn’t just affecting iOS 9.3, it was also affecting users on older versions of iOS 9.
With iOS 9, Apple introduced Universal Links, a brand new way to handle links with native apps. App developers, such as YouTube, can register domain names to open web links directly into an app, bypassing Safari.
That’s why when you click on a
youtube.com/somethingsomething link, iOS opens the YouTube app instead of loading a web page in Safari. This is a nifty feature, except when app developers abuse it.
But some developers, such as Booking.com, associated their apps with all sorts of domains — too many domains to be precise. With 2.4MB worth of domain-name-to-deep-link entries in the Booking.com app, the swcd process that checks universal links was overflown. In other words, Apple didn’t put a limit on universal links and some app developers abused it.
It’s good to see Apple reacting so quickly. But this bug also shows that universal links are still a young technology and Apple still has some work to do to optimize them. If you encountered this bug, head over to the Settings app on your iOS device. Then go to General > Software Update and update your device.