Building iOS Unity Apps on Windows with iOS Project Builder
In my last post about GameCI I mentioned that iOS IL2CPP builds have to run on a macOS machine. No way around it, Xcode is macOS-only and Unity’s IL2CPP backend needs it to compile the native code. Or, maybe, some absolute madlad frenchman actually made it work.
Meet iOS Project Builder for Windows (link dead, see below) by Pierre-Marie Baty.
One second offtopic: This guys website is art, just art. And his name is the most french sounding name of all names, except François Moreau or something like that. This guy is THE guy.
Anyways…
The pitch is exactly what it sounds like: build your Unity iOS project from a Windows machine without needing a Mac sitting on your desk or a pricey macOS runner in your CI. And all of that works by literally copying the toolchain to your windows machine. No, I’m not kidding. You need a “donor” Mac that you can plug a flash drive into, run a script that exports the SDK and some certs from the keychain and then, back on your windows machine you run a script to import the files to get a valid toolchain.
The guy even implemented a console injector that redirects the iOS console output FROM THE iOS DEVICE OVER WIFI TO YOUR WINDOWS MACHINE! And did I mention you can also DEPLOY OVER THE AIR??? FROM WINDOWS???
I’m not kidding, this is one of the greatest pieces of software I have ever seen. I bow my head to you, Pierre, you absolute legend.
The reasons I am very excited about this are:
- debugging is a breeze and takes fractions of the time it would normally take (we’re rocking Windows laptops as work machines, Macs are scarce)
- Getting a CI runner to work on a Mac is either a lot of work, or expensive. So why not use a Windows machine?
This streamlines sooo much about our development workflow, it’s insane.
The only catch is, it’s a paid, proprietary asset, so you need to cough up 100€ or so and it’s not open source. But it’s only one payment for a perpetual license AND it supporting a single dev doing all this.
Thanks for reading 🍎
//EDIT:
Today is a sad day…

I don’t know when, I don’t know why, but Pierre deprecated the project. Given that he first released this thing in 2010 (!), I think it had a good run.
Rest easy, king. You will be missed 💔