It's a dumb & very counter-productive policy and will choke off the supply of new Android devs. Ironically it's now much easier to launch a new app on the Apple App Store than it is on Android.
I recently launched a new app on both app stores. I was up and running in a day on iOS. It took me almost three weeks and a huge amount of red tape on Android.
Since launch I've done a number of updates and the review process is always faster on iOS too.
The XCode requirement makes some sense because it would take Apple a lot of extra work to port and support their tools on other platforms. Work that they have no incentive to do.
But I think the native app market in general has peaked. Most things can be done in a web app now.
The underlying assumption is that Apple is expected to port XCode to some other platform, rather than just using a third party tool on that platform like gcc or VSCode to make iOS apps.
Publish a spec and people who want to will make their own tools.
As someone who had to get a MacBook and an iPhone just to develop a mobile app for their ecosystem, it did leave a bit of a sour taste in my mouth and I wish that weren't the case! Surely there could be an open source cross platform IDE and emulator, like Android Studio, which would get me most of the way there regardless of the platform.
Kind of wish they'd partner with JetBrains and we'd get Apple Studio or something.
Xcode not being required doesn't mean Apple is required to provide alternatives. There are some alternative, compatible signing tools already out there for example. They'd just need to stop being control freaks for a little bit.
Distribution and retention still vastly better on the app stores. Haven’t seen a successful web app match polish on mobile either - react native etc. do though but only when distributed as a native bundle.
Maybe but still the overwhelming majority of app store apps never find an audience or make any real revenue. And polish only matters for certain kinds of apps and even then only after you've identified a real market. Targeting both mobile platforms + all desktops is so much easier on the web.
I'm not sure about a lot. There are tools available that let you just extract some files from Xcode and build on Windows. These work a treat and are maintained by a single guy.
I actually use codemagic.io which is free at my usage level. And amazing. Codemagic has repeatedly provided painless tools to work around Apple's artificial pain points.
Do you have an example of this workflow? Are you developing outside of XCode on a non-macOS platform in Swift and then essentially compiling and packaging using GitHub Actions?
It's hard to understate how little sense everything related to appstoreconnect and the dev account makes.