I don’t think it’s crazy for any company to want more than 3 months to support a new OS.
This specific situation is unfortunate, but I’d expect many other companies to have a mildly broken app for a few months. In particular, the punch hole gimmick was kept a secret and I’d expect apps who expected no touch target in that area to have to rethink a bunch of assumptions.
As a long time iOS user each year brings a bit of change with improvements just barely better than regression. Under the hood, what changes so much as to consider it a major upgrade with breaking changes?
The MS pattern of deep support of legacy API for applications seems too extreme in the other direction. However iOS has long sense reached a point of maturity where annual breakage is also an extreme.
I think that would be cool for users that want security and don't want the new features or new design.. But it'll be used as an excuse for certain apps to not keep their up to date with the newest APIs.
As for the company, they often use the OS version to drive more sales. The new OS almost always requires a little bit more performant hardware. The older the phone, the slower it gets with the newer OS.
There is, once your phone can’t support the latest version of iOS, you are de facto on the LTS version where Apple will provide security patches as needed for years. iOS 12 just got a security patch for the iPhone 5s (circa 2013) last month.
How does it benefit consumers, developers, or Apple to support older OS’s on phones that can support the newest version?
Bilal_io's point on driving phone sales is spot on.
To add to that, phones have no OS downgrade process, so even if as an app provide you decide you won't support the latest OS, every new phone bought from now will still come with it, and the user can't do anything about that.
A LTS would require to also get read of the version up rachetting.
This specific situation is unfortunate, but I’d expect many other companies to have a mildly broken app for a few months. In particular, the punch hole gimmick was kept a secret and I’d expect apps who expected no touch target in that area to have to rethink a bunch of assumptions.