I've struggled with this too. One workaround I've found, which relies on a confirmation popup:
Yeah that's what I arrived at as a workaround. The bit of internet research i did seems to point to a "feature" in Safari on iOS that does not allow a window.open action unless it originates from a click. So where Android/Chrome and IE will allow JS to invoke window.open directly Safari will not.