As usual, if you want to make something for Mac, Apple requires you to make it FOR Mac, with several little things on top of just being able to run the game. And you need to pay Apple for the privilege of making something for their platform too.
Then there’s also all several tech stacks that they outright forbid even if it could run just fine. And many security layers you need to navigate and document in order to not got some random API call blocked that ends up breaking your whole code (something that you can’t even test properly because the blocks occur randomly and only when the game is downloaded from their [mandatory?] app store).
Most devs work with windows as their target platform and depending on their tech stack, supporting Linux might be as simple as running a separate build script (nowadays not even that as users can just figure out for themselves how to run the windows version of the game). Testing your game on your own mac (for a limited time) might be just as easy, but Apple adds so many extra layers to the process of releasing a game for their platform that in general it’s just not worth it.
There’s a bunch of people out there desperate for anything to play, but the best option for making your game run on macs these days is to add it to some service like GeForce Now.
Non-gaming anecdote:
Colleagues wanted to build a Rust application for different platforms. (Save for scripting languages, Rust has some of the nicest tooling around that.)
Building for Windows: cross build --release --target=x86_64-pc-windows-gnu
Building for Linux: cross build --release --target=x86_64-unknown-linux-gnu
Building for macOS:
Uh, you need some signing key or something like that? I believe, they had also concluded that you’d need to use a Mac to do the build, rather than being able to cross-compile from wherever.
In the end, they decided not to support macOS…
I had heard that the juice simply isn’t worth the squeeze. IIRC PirateSoftware said like 2% of his sales came from Mac and it was all of the rigamarole you mentioned to get it working there.
As usual, if you want to make something for Mac, Apple requires you to make it FOR Mac, with several little things on top of just being able to run the game. And you need to pay Apple for the privilege of making something for their platform too.
Then there’s also all several tech stacks that they outright forbid even if it could run just fine. And many security layers you need to navigate and document in order to not got some random API call blocked that ends up breaking your whole code (something that you can’t even test properly because the blocks occur randomly and only when the game is downloaded from their [mandatory?] app store).
Most devs work with windows as their target platform and depending on their tech stack, supporting Linux might be as simple as running a separate build script (nowadays not even that as users can just figure out for themselves how to run the windows version of the game). Testing your game on your own mac (for a limited time) might be just as easy, but Apple adds so many extra layers to the process of releasing a game for their platform that in general it’s just not worth it.
There’s a bunch of people out there desperate for anything to play, but the best option for making your game run on macs these days is to add it to some service like GeForce Now.
Non-gaming anecdote: Colleagues wanted to build a Rust application for different platforms. (Save for scripting languages, Rust has some of the nicest tooling around that.)
Building for Windows:
cross build --release --target=x86_64-pc-windows-gnu
Building for Linux:
cross build --release --target=x86_64-unknown-linux-gnu
Building for macOS:
Uh, you need some signing key or something like that? I believe, they had also concluded that you’d need to use a Mac to do the build, rather than being able to cross-compile from wherever.
In the end, they decided not to support macOS…
I had heard that the juice simply isn’t worth the squeeze. IIRC PirateSoftware said like 2% of his sales came from Mac and it was all of the rigamarole you mentioned to get it working there.