How to fix iOS 9.3’s broken Safari, Mail and Messages links

Update: iOS 9.3.1 is now available which fixes this issue:

Settings -> General -> Software Update


If you’ve been hit by the iOS 9.3 broken links you can follow these steps to fix the issue whilst we wait for a full update from Apple. Unfortunately you’ll need to hook your iPhone or iPad up to your computer and sync with iTunes.

  1. If you still have it installed, delete the Booking.com app from your device
  2. Turn on Airplane Mode
  3. Plug your device into your computer and open iTunes
  4. Turn your device off and on
  5. Make sure you have the Booking.com app in iTunes on your computer – download link
  6. Keep Airplane Mode on!
  7. In iTunes, sync the Booking.com app to your device
    1. Select your iOS device in iTunes
    2. Change to the Apps tab
    3. Search for Booking.com and press install
      itunes-9.3-safari-fix
    4. Press Sync
  8. Wait for the sync to finish, then open the Booking.com app on your device
  9. Force close the Booking.com app by double tapping the home button and swiping up
  10. Force close Safari by double tapping the home button and swiping Safari up
  11. Delete the Booking.com app
  12. Turn off Airplane Mode
  13. Open Safari – your links should work again! It’ll also fix any problems with links from other apps like Mail or Messages.

You may need to try this a few times for it to work, it seems like a specific timing needs to occur for the correct caches to clear.

Thanks to Booking.com quickly fixing their side! You should be able to safely reinstall their app again after confirming these steps worked.

(Thanks to Wojtek Pietrusiewicz who’s guide led me in this direction.)

Now you’re back in action – here are some tips for using Universal Links.

Unable to open links in Safari, Mail or Messages on iOS 9.3

Update Five 11:44 March 29/03/2016:


I’ve posted a shorter fix – here’s how to fix it with an iTunes sync and Airplane mode!


Update Four 11:10 March 29/03/2016: there’s a fix! There are a lot of steps, but if you really want to get back in action Wojtek Pietrusiewicz has a fix. Apparently he spent four hours getting it working.

Update Three 22:20 March 28/03/2016: a few updates have occurred to the Booking.com app, as these have appeared quicker than Apple would usually review them, my guess would be Apple is working with Booking.com to try and find a workaround without requiring a whole iOS release.

Update Two 15:00 March 28/03/2016: it looks like it might not be the size of the association file but an issue with Shared Web Credentials – which allows apps / websites to share login info.

Update One 13:00 March 28/03/2016: Booking.com have updated their association file – it’s now only 4KB – this hasn’t fixed the issue but should prevent new users that install from hitting the same problem. Even reinstalling the app and rebooting doesn’t fix it – the swcd (shared web credentials daemon) crashes once it’s got corrupt data in it.

Short version: there is currently no fix for this – we’re waiting on Apple to resolve. A reboot sometimes temporarily fixes the issue, and turning off JavaScript gets Google search results working again. If you haven’t got the problem – don’t install the Booking.com app (read on for more info).

A lot of users (including myself and a few friends) are experiencing links in Mail and Messages not working, and some links in Safari, like Google Search results, not opening. A long press on a broken link causes the app you’re in to crash, otherwise a standard tap highlights the link but nothing happens.

This issue was reported by some users on 9.2.1 but has only become widespread since 9.3 was released on 21st March 2016.

What’s Going On

In iOS 9 Apple introduced Universal Links, these allow app developers to associate their website and app, so links to the website can open the app up automatically if installed. For example, following a link to a Guardian article opens up the Guardian app to that specific article instead of their website.

App developers put an app association file on their website which lists which types of URLs the app can open. When you install an app, iOS downloads this associated file and updates your own database of what URLs your installed apps can open. The website and app listing in iTunes are linked by the developer – so it prevents anyone from hijacking your website with their app.

When you tap a link in iOS, the system looks through the database of installed apps supported URLs to see if it matches a pattern an installed app can handle. If nothing matches it opens it up as a standard app.

Why’s It Broken

It looks like there’s a bug in iOS that completely breaks the Universal Links if it gets served an app association file that’s too large.

Benjamin Mayo of 9to5mac.com reported installing the Booking.com app consistently broke their test devices – which led Steve Troughton-Smith (who else…) to take a peep at their association file:

It seems that the large size of their file, due to it having every URL from their website inside it breaks the iOS database on the device. Apple allows you to have pattern based matching, so instead of having to include every hotel’s URL in the association file, Booking.com could just put /hotel/* to match all the hotels on their site.

Whilst Booking.com aren’t following the recommended approach, it’s not their fault that a third-party can break a fundamental system feature like web browsing. Apple should be handling these edges graciously.

The worst part – deleting the app doesn’t clear the Universal Link association. Because the OS process that handles the Universal Links has crashed, it appears unable to remove the corrupt database.

The Workarounds

Unfortunately there’s no fix for this at the moment although a restart of the OS can temporarily restore links, and turning off JavaScript (Settings -> Safari -> Advanced) allows certain websites, such as Google search results to work again. Apple confirmed these workarounds to me, and hinted there may be a software update to resolve this;

Be sure to keep your software up to date in case a future release addresses this issue.
We do have two workaround options. Restarting the phone may allow links to work, but the issue can come back. The other workaround would be [to] turn off JavaScript.

Some users have been able to fix with an elaborate reboot cycle;

The other unknown fix is whether Booking.com can resolve it for now by changing their association file (update – they have but it doesn’t help if you’re already hit by the problem). This would only be effective until the next app breaks it – the only long-term fix is an update from Apple.

Electricomics Featured In The Guardian’s best iPhone and iPad apps of 2015 

Link

19. Electricomics
iPad-only Electricomics was the latest attempt to rethink comics and graphic novels for touchscreen devices. Complete with comics from Alan Moore, Garth Ennis, Leah Moore and John Reppion, and Peter Hogan, it showed how careful (rather than show-offy) use of interactivity really could add to the medium.

Source: The best iPhone and iPad apps of 2015 – Apple unveils Spotify competition | Technology | The Guardian

Exciting to see our Electricomics iPad app featured in the best apps of 2015. There’s also now a beta Desktop reader.