> 1) Spend $100 a year for the privilege of being allowed to access their app store
Comparable to all curated store fronts.
> 2) Buy several $1000 iPhones (you'll be expected to test on every model they currently support by app store reviewers)
Not different than supporting any commodity device. You should have target devices for every variation you intentionally support.
> 3) Buy one $2000 macbook per developer that needs to work on the iOS app (build tooling only runs on macos)
That's not true, both the macbook line but also in general. I have worked in places that use VM's on MacMinis for iOS development, but there's also AppCode from Jetbrains.
> 4) Good luck if you want to integrate this with your CI! Either another mac mini ($1000) or a subscription to some service that does it for you. Forget about using your linux boxes that you use for everything else. Apple says no!
Mac Mini for CI, yes, if you're doing it as above then it's an additional VM on your MacMini.
> 5) Everyone who needs to log in to the apple developer portal also needs an iDevice. Apple is so secure they only support their own proprietary second factor push messages to iDevices!
That's not true, I use Linux to log in to my developer portal with the root account.
> You can see why they don't allow emulators or virtual machines.
They allow VMs and Emulators, they just require that it's official hardware.
If you are categorically opposed to owning any apple devices then I can see why you would feel a certain way.
To put it in perspective: I genuinely despise Windows, yet I need to spend a lot of money because making Windows software on any other platform is practically impossible, and "running a VM" isn't going to help because you must still license that VM.
The major differentiator here of course is that the license cost for the OS is part of the hardware cost in the Apple ecosystem and not separated out.
But ultimately every company that has a platform for software development is going to charge you:
A) Access to that platform
B) For the tools required to build on that platform in addition.
I recommend everyone votes with their wallet. (and they do, just in favour of the App Store, because it is significantly more lucrative to lean in and buy a pile of mac minis and a developer license agreement than to lose sales by not being apart of it.)
You could look at this as Win/Win or Lose/Lose depending, almost entirely, on your willingness to let Apple also profit from your work. (again: likening it to my experience with Windows).