Hacker News new | past | comments | ask | show | jobs | submit login
Unable to open links in Safari, Mail or Messages on iOS 9.3 (bencollier.net)
231 points by nardras on March 28, 2016 | hide | past | favorite | 96 comments



Good to hear someone has got to the bottom of this. Been unable to use Safari for a few days due to it. I haven't updated any apps for months (I don't trust auto update to not leave my apps in a half downloaded state so I just let them mount up until I eventually download hundreds of updates!) so iOS must periodically check this list automatically rather then just when an app is updated/installed.

The combination of a lack of an official response from Apple yet, the fact that this was apparently found by beta users (not that the issue is related to 9.3 directly, but it was reported as a beta issue by some), and the inability to change default browser leaving my phone in a pretty broken state has got me seriously considering a switch to Android though, where at least such a bug could probably be worked around through changing defaults or worst case flashing a new ROM.

The iOS 9.3 release suggests Apple's QA process is rather lacking and incidents like this won't help confidence in their devices - it's okay for users who know how to work around it and understand what is going on, but my parents would probably think the whole internet was broken!

Rant over, glad to see this on HN as it has been p*ing me off for a few days :)


>> The iOS 9.3 release suggests Apple's QA process is rather lacking

You can say that again. My battery runs down far more every day than it did before, my email doesn't fetch on schedule or push anymore, and things crash that never crashed before. 9.3 has been a mess so far.


Here is my weird 9.3 behavior: go to a mail inbox and do the pull-to-refresh and nothing happens. If I go to the page with all the inboxes displayed and do pull-to-refresh, it actually refreshes. Battery is a huge issue for me too.


Yeah pull to refresh on Mail is dodgy, but it always has been for me. Seems to work on the second or third try...


Same here. I hesitated to upgrade to 9.3 when prompted but went ahead anyway, guess what I'm going to do next time...

It baffles me that Apple let this bug go live when it was reported multiple times during betas. And the impossibility of avoiding the issue by using a different browser only adds to injury.


Then get ready to have to daily respond to an unwanted popup dialog trying to force you to update. It's infuriating that Apple thinks it's ok to repeatedly harass you to update with NO option to turn off the prompts.

This issue alone has made me want to switch to Android and I'd never thought I would say that.


I'm not sure if Android is any better. My Samsung phone would have an update popup several times a day it seemed like. One day I was in Chrome, about to click on a link and the update poppped up right under my finger causing the phone to update.


I don't understand why everyone loves Samsung... I always go for a Nexus... Which at least has fast updates and is the best type of Android Phone in my view.

PS. Sony also does a hell of a good job :)


Updating is vital for the security of your device, and Apple has been repeatedly praised for getting literally hundred of millions of people to timely update their devices.

Sometimes, an update can be broken, and Apple better be fast at fixing it. It doesn't change a thing on the fact that Apple must continue forcing users to update as soon as possible their devices.


Most people don't connect unpatched devices as easy pickings for fraud and abuse.

I was at the mechanic the other day, and this loud-mouthed boor bragged about never doing updates. The kind of guy whom would surf for porn on iOS 6 Mobile Safari and wonder why his contacts complain about X-rated spam.

For users like that, Apple has to just force people to update without their permission some number of years out because they won't do so willingly. Maybe enterprise-provisioned should have a greater exclusion, but not much more.

Because PEBKAC.


The annoying login and update prompts are going to push me to Android faster than anything.

I get prompted to log in to iTunes or iCloud literally 5 or 6 times just opening the Music app, navigating to a playlist, and clicking on a song. It's infuriating.


I actually rolled back to 9.2.1 manually but this didn't fix it anyway, which was even more disappointing! Also the restore from backup was sooooo slow over the weekend, presumably because of all the 9.3 downloads, that after 24 hours my 2 gb backup was still stuck on estimating, so in the end I rebuilt from scratch. I'm glad that I have everything backed up elsewhere and not just in iCloud, which is of course the real moral of this story....always have multiple restore options!


I can confirm that the bug also present in IOS 9.2.1, running on an iPad Air 2


For links not opening, tried pressing harder or turning off/recalibrating 3D Touch?

General > Accessibility > 3D Touch

For folks reverting iOS, it seems like it's probably a preference thing (sans that bookings app.)


> I actually rolled back to 9.2.1

How? I thought Apple didn't allow that. I'd like to go back to 9.1 if possible


Apple leaves the signing window for older versions for usually a week after the newest version drops. Go to a site like https://ipsw.me/ and find your device. If the iOS version in the drop down menu has a green background, you can still restore to that version. You download the ipsw file and hold shift + click restore/upgrade on iTunes to manually target the ipsw you want to downgrade to.


I used this link, but same principle as the other reply. http://osxdaily.com/2016/03/22/downgrade-ios-9-3-back-to-ios...

Thing to note is that I didn't have the bug in 9.2.1 so I assume that something else changes within the upgrade process (i'm no iOS expert plainly) whether it be firmware of whatever, which doesn't get downgraded.

I find it somewhat questionable that I can revert to a previous version and still have that the problem the upgrade caused. I'm guessing this is my lack of understanding about mobile devices though. The whole process made me feel rather impotent compared to troubleshooting a PC or similar.

edit: (I should point out that I had to go to a laptop to post this comment, since the reply link still won't work on the iphone!)


That's odd I'm not seeing any issues nor any one else I know. I use Safari constantly both on my phone and on my MacBook.


The current theory according to the article is that booking.com's app downloads a 2.4mb file of links for its "universal links" data (that annoying thing where you get taken to an app rather than a website and you can't disable it without removing the app...) which causes the database to slow down/become corrupt.

Therefore if you've not got booking.com's app installed, you should be okay (for now). Needless to say the fact that a third party app can break such a core OS feature rather shatters iOS's reputation for security above all else...


Technically it's not insecure (the app doesn't get to set data it shouldn't), it's just a DOS.

Seems odd that they wouldn't test this particular case (or put a predefined limit on it). This seems like exactly the kind of thing someone would do without thinking about it too hard (I'll just write a script and....) and cause an issue.

I'd really like to have more control over the feature anyway. I want to redirect Twitter links to a 3rd party app and turn off these links for Amazon and a few other apps.


You're right, I guess "stability" is probably more accurate.

At the end of the day, it represents app(s) breaking the phone in very fundamental ways, in spite of the sandboxing iOS enforces (obviously this is a different vector in reality, but from a layman's point of view the end result is the same), in a way more severe than any Android app (which arguably have a reputation of being "less secure") has broken that OS as far as I am aware.

This stability/security was one of the reasons I've stuck with iOS for so long, but this particular issue has forced me to reevaluate my thinking somewhat, as I'm sure it will for many others.


To me it's just a bug, they'll get it patched. None of my data was at risk. For security I won't worry about it.

Now the inability to click links on my phone would drive me NUTS. Seems to me like a case of 'someone did something crazy, Apple wasn't ready, these things happen'. But I may have had a different tune if it hit me.

There are some annoying bugs I hit from time to time (especially involving CarPlay), but they haven't driven me off yet.


Yeah, you are right. It's just a particularly annoying bug because: 1. It broke my phone pretty fundamentally, 2. It was a third party app that broke core functionality (in a roundabout way), which shouldn't be possible on iOS, 3. Lack of response from Apple, 4. Such a bug would be much lower impact on Android due to (IMO) silly restrictions on iOS. These factors combined with a lingering slight dissatisfaction with iOS has left me a bit annoyed (but I'll probably forget all about it soon!)


I'm not a fan of the app launches from Safari. If I wanted to use their app, I would have opened their app. App launches (especially those opening up the App Store) seem eerily similar to pop up ads of the late 90s.


I believe iOS updates the app associations when either the app is updated, or the OS is updated. If you don't update the OS and don't update the app, it doesn't fetch a new site association, which is why the problem didn't surface until the release of iOS 9.3.


Interesting, I am fairly certain the problem didn't surface until a few days after installing 9.3 although I could be wrong.


>I don't trust auto update to not leave my apps in a half downloaded state

Huh? That's never happened to me, for one, and I update as soon as there's an update, ever seens iOS app updates were a thing...


It's happened to both me and my girlfriend. It's not very common but seems to happen sometimes when software is updating when it has a good signal/wifi and you move into an area of no signal. Having been caught out a couple of times being unable to access important apps because of it (one time being in an unfamiliar area with a half downloaded Google Maps and insufficient signal to download the app again), I just don't risk it any more... Which is a shame as otherwise it makes sense to stay up to date obviously.

I did report this as a bug to Apple, who requested a device log of some kind when it next happens, but it's hard to reproduce manually.


Probably a practice best to run iOS updates fully charged, plugged into power and over stable Wi-Fi. Also an iCloud backup beforehand and an iTunes full-backup where possible seem like good ideas.


Hmm, while I do update outside the house/office, e.g. when I'm bored at some place, I never update apps on the move (e.g. in a car, walking etc), so that could be a factor...


I had the same problem today - what a mess! Likely good business if you're a browser app vendor. I tried several browsers I'd never heard of - Puffin worked.


This appears to be caused by a bug in the Shared Web Credentials Daemon, which shares website credentials between apps and Safari. Once particular data is put in its database, it keeps crashing.

https://twitter.com/aveapps/status/714215571894747136


Safari kept crashing for me (and occasionally other apps, but don't know if related, just thought they were buggy apps) on my iPhone 5. I originally thought it was a problem with some sites being horribly broken, but it was also happening on mainstream sites such as wsj.com.

After I installed the 9.3 update, the crashes stopped. Maybe the firmware update and device reset clears that database.

Or it could be completely unrelated. Whichever, that's my anecdote.


Shared Web Credentials and App Links are set in the same file: you have an .entitlements where you set on what domains you want to have applinks, webcredentials. Then the iOS downloads from those domains a signed json file where you specify what apps can do applinks or webcredentials and you can limit those actions on some paths. What booking.com did is populated the paths section will 2.4M of urls instead of using wildcards (like "hotels/*"). The effect on the iOS is the Shared Web Credentials Daemon (the file is swcd) has a bug and with high amount of data it corrupts it's own database and fails. When opening absolute urls (schema://, ex: http://) the iOS wants to pull some data from swcd which isn't running because of the corrupt database so it freezes the app opening the absolute url. From my point of view Apple is the only to be blamed (of course booking.com has been sloppy). They shipped a buggy core component (swcd) and they failed on the booking.com app approval process to detect this behavior.


Submitted another story about this couple of days ago but it did not get much attention. Granted, this one calls out very specific technical reason. I have this problem after update to iOS 9.3 and FWIW I have Booking.com app installed. This problem was haunting users for quite a while, since beta for sure and may be even for some users on 9.2.1. The lack of response from Apple is disheartening. I am seriously considering switching to Android. Disabling JavaScript allows to navigate links in Safari, but opening links from other apps freezes them and many sites are broken without JS. My only recourse for now is to factory reset the phone, which is a huge PITA. And of course never ever install booking.com app


Your thoughts echo mine exactly (right down to submitting a story that got no votes!).

The fact that this kind of bug would have a lower impact on Android (i.e. wouldn't disable major functionality due to the ability to switch out default apps), along with a general sense that Apple's software quality and support is becoming less reliably good (I would certainly have expected a quicker official response to this issue) and a slight feeing that Android is creeping ahead of iOS in terms of interesting new functionality is making me seriously consider the switch (partially as a kind of "protest" move, partially because I'm really annoyed about a major part of my phone breaking randomly, and partially because I'm curious to try it out), which I definitely wasn't seriously giving any thought to before this. Could work out to be a good thing in the end ;)


I ordered a nexus 6p today. Been an iphone user since the first year. I have grown tired of so many things that are ios.

I mostly use google apps and them games and other apps that have android versions.

I'm concerned that hands free calling, which I love from my Honda, may not work. If it does not then I will return the nexus and go back to iphone but will be very unhappy.

I have multiple tablets (for work evals) and love both the ipad pro and several android tables I have. But I still have things about the ipad pro that bug me. Stop trying to upsell me icloud services.


Switched from an iPhone 6 to a Nexus 6P in January. Couldn't be happier! Sure it isn't perfect but no phone is and the 6P, for me, gets closest to the perfection goal than any other phone currently available.

Also the camera in the 6P is excellent which is a lovely surprise for a Nexus! It holds up well, better in some situations, to the brand new S7 Edge camera in my experience (my father has the S7 Edge so this was actual personal experience).


Yes I am looking forward to the camera especially and the quality and size of the screen for my aging eyes. @bithust do you use hands free phone dialing from a car? If so what car model and how is your experience with HFD?


Sorry I never use the phone while in the car. It is a quiet zone for me :)


Fix that worked for me: 1) Put the phone in Airplane mode 2) Power it down 3) Power it up and while staying in Airplane mode 4) Delete Booking.com 5) Power it down 6) Power it back up and turn off Airplane 7) Go to Safari and browse normally


This did not fix it on my 6S. I wonder if there are other apps causing the same issue, I have a ton installed.


It looks like once the database is corrupted, swcd keeps crashing and there's no way out.


Did not fix my iPhone 5S.


I wonder if there was something particular about the booking.com site association file (i.e. some particular data in the `paths` array) or whether it was just the fact that the `paths` array was unexpected large, and when put into the overall database, made that too large to handle?

Wonder if anyone has a copy of the old booking.com association file (the one that caused problems) - would be interesting to look at.


It could easily be just because it's too large. Either there was a buffer overrun, or something got truncated in a bad way.


Probably an O(n^2) style algorithm as they never expected files with insane sizes like that


So thats two pretty major bugs in iOS9.3 (the failing upgrade process for older hardware is the other big issue - and Apple are getting lots of support calls about it).

I really have to wonder what has happened to Apple's Quality Control. More money, more bugs?


Check out this patch:

https://bugs.webkit.org/attachment.cgi?id=268394&action=diff

[iOS] Revert overflow:hidden on the body affecting viewport scale (r186786)

https://bugs.webkit.org/show_bug.cgi?id=152803

Reviewed by NOBODY (OOPS!).

Bug was reported on 6th January, broke thousands of websites, was patched shortly thereafter - and deployed 3 months later.

Three months to fix a major regression snafu. Apple Safari support sucks.


This was reviewed properly, you just have to click the actual commit: http://trac.webkit.org/changeset/194667 "Reviewed by Tim Horton."

The response time here might not be great, but the patch author and reviewer are both experts in this area. I wouldn't consider this patch evidence of declining software quality--it's just a simple bug.


You seem a bit confused. I'm not saying the revert of the patch wasn't reviewed. I'm saying the commit that caused the issue wasn't reviewed.

Hope this helps.


This is the commit that caused the bug: http://trac.webkit.org/changeset/186786

Notice the review line


Damn, you're right and I've made myself look foolish. I apologise for my tone and reaction.


This is just reverting a change that was found to be bad. Returning to a known good state makes sense.


Not sure I understand your point. That bad state got into the 9.2 release, was reverted and three months later got into 9.3. In the meantime thousands of sites break, and the Apple support forums are bursting at the seams with people asking about this issue.

It's hardly "just reverting a change that was found to be bad". The impact was huge!


I've had 9.3 version 13E233 on my iPhone and I have just received the chance to upgrade again to 9.3. After upgrade the version is 13E237 (as seen in the Settings General About) but the problem remains.

Still no change, https links to other sites dead in Safari, or the right click on the same link makes Safari blocks.

So if you have chance to upgrade to the newer 9.3, better wait, until some newer version than 13E237 appears?

I believe that in "Privacy / Diagnostics & Usage / .. Data / stacks + MobileSafari...." should theoretically contain the stack of the killed Safari at that moment and be sent to Apple?

(Anyway, before I've upgraded to 13E237 I've already deleted booking.com and yelp apps. I've also then installed the new version of booking.com app and then deleted it, all with the suggested "Airplane" mode. Didn't work)

Edit: the 13E237 is apparently

http://9to5mac.com/2016/03/28/apple-re-releases-ios-9-3-for-...

"for users affected by an activation bug"

not for this now.


Amen, I've been suffering from l HN withdrawal symptoms due to this. I have only been able to read comments and submission headlines on the iPhone.

Updtae: this is likely due to third party apps (in my case Booking.com). But uninstalling doesn't seem to help. Also I couldn't read the article since safari can only visit URLs that I explicitly type in


Does copy and paste not work?


There's also another annoying, existing bug in iOS at least back to 9.2 where if memory is low, copy stops working... the clipboard retains the old value until you kill basically every other app.


Not for me. Long pressing causes safari to lock up and crash.


Long pressing works with Chrome


Workaround mentioned in the article: disable JavaScript. Hope this helps you.


Far too many websites rely on JavaScript now for this to be a real workaround.


Had this since yesterday. Best solution so far is to disable JavaScript or use opera mini


I can't find it atm, but someone contacted Apple on Twitter and they replied that disabling JavaScript is the best workaround.


Another workaround: using long click in Chrome will allow opening of the link in a new tab.


was at the Apple Store in NYC At 1am yesterday. None of the people there knew how to solve it. I looked online and there are, by now, thousands of users in several threads in Apple forums complaining that links don't work. Here is some more info: This isn't just affecting 9.3, it's true also on 9.2.1 Don't bother wiping and restoring your phone, the problem comes back. My guess is that it was triggered by something in the Apple WebView APIs that happened recently, because it started happening on my phone for no reason this Friday (with 9.2.1) and most of these forum messages are from the past few days. Apple hasn't responded yet and 9.3 doesn't fix this problem. For now, use Google Chrome. Long-tap on links in Safari and other Apple apps crashes the app. However, thankfully in Chrome for iOS, it works (even though it also uses Apple's WebView). You can follow links via long-tap and copy-pasting the link into the Address bar. Finally, if you're wondering why some mobile links still seem to work - those are the ones enabled by javascript handling of tap events, that don't use the regular mechanism of loading a url.


I've put up a convoluted but working workaround here - https://bencollier.net/2016/03/how-to-fix-ios-9-3s-broken-sa...


I had something similar happen to me on 9.2.1 - switch to readability mode in one app stopped all links working from Facebook. Took me forever to debug it.


I hate how links can only be opened in safari anyway. I'm having this problem so it's frustrating to no end.


This goes back to Apple not allowing you to replace default apps. Android phones let you define the default web browser, map viewer, etc.


Anybody know if this causes issues in Cordova / Phonegap apps?


We have a Cordova app that begins on a local web page then immediately redirects to a remote page, and we have recently had a bunch of users on iOS 9.3 complain that they are just stuck on the first screen.

So it looks like it probably does affect Cordova apps.


This could potentially be an issue with any app that uses an association file.

edit To clarify, you need to use an association file on your website that references your app. What triggers the bug seems to be unknown, but appears to involve shared credentials.


WTAF, Am I reading this right? Booking.com was sending a 2.3MB file to every user, but only usable to iOS users?


No, this file is part of the iOS app.


Both you and the OP are incorrect. The file is not included in the app (only referred to), but is only downloaded by iOS itself - or anyone who points a web client directly at it, of course.


Do you have a link to it?


Looks like a signed json file found at `/apple-app-site-association` on sites that support it (eg. booking.com/apple-app-site-association, nytimes.com/apple-app-site-association, &c.)


from your iPhone


It does say "on iOS 9.3".


It's funny that unpaid developers who release ROMs for my Android phone apparently do a better job at QA than the people at Apple.


And of course I get downvoted for being perfectly right. The rampant, rabid Apple fanboyism on HN is utterly disgusting.


That might sound snarky, but actually it's entirely true. Apple QA around Safari is dreadful. They literally break the rendering of thousands of websites in 9.2 and only fix it in 9.3 - three months later. All because of checked in WebKit code that wasn't reviewed correctly.

https://bugs.webkit.org/attachment.cgi?id=268394&action=diff


Oh, and I should note: I love my iPhone and iPad - I own three iPads and 4 iPhones. So lest anyone think I'm an Apple hater, think again. In fact, I replaced my Windows PC with a Mac some time ago and never looked back.

Which is why I'm hear to tell Apple: fix your freakibg regressions in Safari quickly. There is absolutely no reason why the browsers rendering engine can only be updated every three months!

Sort it out Apple. You force all web apps to use your engine and prevent effective completion in this space: fine. But you now face the burden on ensuring you prevent and fix your bugs quickly!


I do find it odd that Safari's update cycle is tied to the OS updates. Seems to me like they should be separate.

Example: a few months ago Safari had a bug where it was still using apple's old WWDR certificate, preventing anyone from packaging their safari extensions. The fix came out months later in the next OS release.


You have 3 comments in this thread stating that this wasn't reviewed correctly. It was, you're just looking at the wrong link in their bugtracker: http://trac.webkit.org/changeset/194667 "Reviewed by Tim Horton."


You are the one who is mistaken, not me. I never said the revert wasn't reviewed, and neither did Simon Fraser. What he said was the commit that caused the viewport bug that made its way into iOS 9.2 wasn't reviewed.

That clear enough for you now?


Still not clear to me -- is this the checkin that caused the issue -- reviewed by Tim Horton? http://trac.webkit.org/changeset/186786


Ah. I'm an idiot. I guess I can only apologise for my tone and response. Sadly it has affected my larger point, but the only one to blame here is myself.

Sorry :-(


Apple broke a fundamental rendering issue in iOS 9.2 - if you put overflow hidden into the body tag then it screws up the viewport.

Thousands and thousands of pages broke. They fixed it three months later.

Basically, Apple Safari support sucks. Why the hell is their web page renderer only updated in minor releases of iOS?


Oh? Genuinely curious: what's so awful about my comment? If Apple can stuff up a fundamental rendering issue [1] and it takes them 3 months to release a simple revert of the unreviewed commit, then how are my comments on their incredibly slow bug fix timeframes for browser issues out of line?

1. https://bugs.webkit.org/attachment.cgi?id=268394&action=diff


While I agree with the content of your comment, this one at the bottom of the page seems to be the third of nearly identical comments about this one WebKit bug made by your account on the page. It's approaching my SPAM threshold.


Indeed - I found this bug to be totally relevant to the issues being discussed. The first was to point out the issue. The second (the parent comment) was to ask why Safari rendering bugs take so long to fix and I used that bug as context for my question. The third was to respond to the huge downvotes of this comment at https://news.ycombinator.com/item?id=11376114

Each of those are entirely relevant in their context. It's hardly spam.

If you want, I'll find more regressions, it won't be hard. Apple are utterly useless when it comes to Safari rendering regressions.

(were you the one downvoting, incidentally? And what do you mean by the "third at the bottom of the page"? The comments shift around in ordering you know)


And what do you mean by the "third at the bottom of the page"?

The commenter meant that the referenced comment was the third such comment you've made in relation to this bug. IOW, you're sounding like a broken record. I tend to agree with this assessment. You made your point, move on.

And before you ask, meh, maybe I down voted you, maybe I didn't. That's not what you should be focusing on.


Meh. I had no intention of referencing it again, those comments were entirely relevant. That's indeed what I'm focussing on. In fact, I'm focussing on the fact that Apple's updates for Safari entirely suck and used that bug as the primary example of just how bad they are. I don't apologise for being a "broken record" on this issue. Maybe you should also. Next time I'll find one of the dozens of other regressions that have bit me in the arse if that would make you happy.

This bug was so bad that if Apple hadn't fixed the issue in iOS 9.3 then I would have asked for a refund on every single one of my devices and returned them. Under Australian law they'd have to.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: