To add insult to injury, I later realized that even “Chrome” on iOS devices, pretty much “acts” just like Safari - and in some cases, was more problematic - at least for my web-app.
Coming from developing an Android app (which can also lead you down device compatibility rabbit-holes), it’s been hellish trying to support the different browsers on desktop (portrait mode, & landscape mode monitors), Android devices, and iOS devices, on which those same browsers may act differently.
I finally adopted the following approach:
Scrap huge amounts of work, and revert to a previous commit, and make sure that I am getting my initial audience 100% right. That is, my Desktop users and Android Chrome users.
Of course, I can’t neglect 40% of my traffic, so I am heavily considering redirecting those users to an “iOS version” of my web-app. Do people even do this? Is this even a thing?
The other option would be countless “if (isIOS) { //do this instead }” checks, and that could get ugly…
This is my first serious web-app, and boy… what a rude awakening!
Any advice would be greatly appreciated!
EDIT:
As someone mentioned in the comments, I should probably state the specific issues. So currently, they’re related to touch-events / long-presses, and the ability to bring the focus into the textbox on Apple devices automatically (which is apparently a no-go) and any sort of mitigation has given me broken functionality back on Android.
The app in question is at https://postbaby.org
EDIT:
And as someone else mentioned, I should have started off using a modern JS framework…