Apple pushes out update to fix iPhone broken-links bug
Apple has pushed out an update for iPhones and iPads to fix a bug that caused devices to lock up, batteries to drain and links to be completely inoperative.
The updated version of iOS 9.3.1 is available now through the Settings app on aniPhone or iPad, or though iTunes on a Windows or OS X computer. It fixes a problem caused by rogue third-party apps that overload one of the core components of iOS that handles links within apps from Safari, Mail and Messages to many third-party apps.
The problem was pinned down to apps, including Booking.com, using large lists of URLs within Apple’s Universal Links system, which lets apps claim certain URLS and open them within the app rather than Safari. For instance, if a user tapped on a theguardian.com link, and had the Guardian app installed, that link would open the Guardian app by default, rather than load the Guardian website in Safari.
The problem was highlighted by users updating to iOS 9.3, which launched 21 March, causing iOS to re-catalogue the links and their associations with apps across all third-party, Universal Link-using apps installed on the phone.
Some apps, including the Booking.com app, had incorrectly formatted lists of URLs. In Booking.com’s case it had a database of thousands of URLs individually listed, which came to 2.3MB in size. Most apps have databases of only a few kilobytes, and use wildcards to denote that every link with a certain domain would open in the app.
The size and complexity of the URL list broke the Universal Links system, sending the iPhone or iPad into a constant loop and making all links inoperable across most of the system and with it incurring the wrath of users infuriated by broken phones.
Booking.com updated its app to remove the massive database of URLs, but that did not fix the problem, requiring Apple to push out an update to all iPhones and iPads running iOS 9.
Updating via the phone, tablet or computer should fix any broken iPhones or iPads, and prevent the problem from happening again.