Build an iOS app on Linux or Windows

139 todsacerdoti 41 6/25/2025, 1:31:02 AM xtool.sh ↗

Comments (41)

TheDong · 8h ago
You have to accept Apple's licensing agreement as part of downloading XCode to run this tool (which relies on XCode's SDKs etc).

Quoting from the license agreement:

> You may not use the Apple Software, Apple Certificates, or any Services provided hereunder for any purpose not expressly permitted by this Agreement, including any applicable Attachments and Schedules. You agree not to install, use or run the Apple SDKs on any non-Apple-branded computer, and not to install, use or run iOS, iPadOS, macOS, tvOS, visionOS, watchOS, and Provisioning Profiles on or in connection with devices other than Apple-branded products, or to enable others to do so.

Both xtool itself, and anyone who uses it, is violating this license agreement, and apple has shown itself in the past to be a real ass about this sort of thing.

I think this can fly under the radar as long as no one uses it, but as soon as people actually start using this tool in any significant amount, I wouldn't be surprised if apple comes for it.

gman83 · 7h ago
These terms and services would also seem to make it a violation to run CI/CD services that enable Windows & Linux users to build React Native or Flutter apps for IOS?
meindnoch · 4h ago
Those CI/CD servers are just regular macOS boxes. Typically a bunch of Mac Minis in a rack.
wouldbecouldbe · 6h ago
You need a macOS Server or computer to build via CI/CD
sockbot · 8h ago
So running on Asahi is ok?
broknbottle · 2h ago
The tool can still be used to run on a light weight Linux VM running on a Mac Mini or other Apple hardware. At the bare metal layer the host is an Apple branded computer running macOS.
m463 · 6h ago
from what I have always understood...

running under windows/linux booted on apple hardware is fine.

running in a vm/container on apple hardware is fine.

I suspect apple's new container support (like docker supported by apple) is going to make this sort of thing common.

scripturial · 7h ago
I’m curious, would Apple know if you are building on Linux on a Mac, or building on Linux on PC?
bornfreddy · 3h ago
I would be surprised if they didn't. It is trivial to detect this.
scripturial · 2h ago
How would they detect it? If the interface with Apple is simply an API to fetch and upload data. How would they know if the underlying physical machine is an Apple built computer running Linux, or a dell built computer running Linux?
CharlesW · 7h ago
> Both xtool itself, and anyone who uses it, is violating this license agreement, and apple has shown itself in the past to be a real ass about this sort of thing.

Only with people dumb enough to build businesses on the back of Apple's IP (see: Corellium). Hobbyist/enthusiast use of Apple technologies (see: the Hackintosh community) has a long history of being tolerated.

paxcoder · 7h ago
Touched upon here: https://forums.swift.org/t/xtool-cross-platform-xcode-replac...

We need to get EU on this case.

bornfreddy · 2h ago
This! There is no reason Apple should be able to dictate how their software and devices can be used just so they can exclude other companies from their ecosystem. This measure is a clear example of anti-competitive practices. Free market sometimes needs regulation to be kept free.
Abishek_Muthian · 6h ago
I was one of the early mobile app developers and after nearly a decade of wrangling with the tools & environment of the duopoly I got fed up and quit mobile app development.

Recently I picked up Flutter and I really liked it. Apart from the declarative programming, not having to touch Android Studio and Xcode for building the app in Linux was the main contributor for the pleasant experience.

I plan to release the app soon so I’ve already paid the Apple Tax for dev license and hardware but I still dread having to use Xcode; hopefully tools like xtool will help in that regard.

zombot · 7h ago
More info about xtool:

https://xtool.sh/documentation/xtool/

This looks damn cool.

zoobab · 4h ago
I use the language of my choice, not those programming languages imposed on us by the GAFAMs.
lynx97 · 6h ago
Please turn on JavaScript in your browser and refresh the page to view its content.
surrTurr · 4h ago
has anyone actually published an app using this?
sherdil2022 · 9h ago
Looks promising. But I am getting the following error when I run 'xtool dev':

> status: "409", code: "ENTITY_ERROR", title: "There is a problem with the request entity", detail: "You already have a current Development certificate or a pending certificate request."

I have even manually copied the development certificate and installed on the iPhone - but keep getting the same error when I do 'xtool dev'

I have searched but none of the solutions worked so far. Will keep trying.

Did anyone get this error and get past it? Please let me know how you got past this error.

sureglymop · 5h ago
Can I sideload the app to test/debug it on device without having to log into any online account?

Can I sign the app bundle with my own debug keys?

If no, it's still not interesting to me.

zer0zzz · 3h ago
Are they using ldprime/ld64 or lld?
iJohnDoe · 8h ago
Can someone explain what this?
v5v3 · 4h ago
To make and release an android app you can do it on any windows, Linux or apple laptop or desktop.

To make and release an iOS app, apple insist you can only do it on an apple machine.

This is a cross platform solution challenging Apple's arrogance and greed.

yellow_lead · 8h ago
A tutorial showing how to use xtool to develop for iOS on Linux/Windows. Normally, it's limited to Mac OS only.
scripturial · 7h ago
It allows automated builds of an Xcode project on a CI machine, VPS, or docker instance.
malloc-0x90 · 7h ago
Never built on Apple, last time I tried:

it asked me to update Xcode;

Xcode asked me to update the OS first;

and the OS asked me to buy a new 1300$€ MacBook hardware (with similar specs, the one I was using wasn't even that old/slow).

So to quote Rick and Morty i though: "That's just subscription with extra steps!" - and made a windows program and an Android app.

zombot · 7h ago
Exactly. Apparently Apple still finds enough idiots who perform that dance, but they've lost me. I can only hope others will follow and xtool looks like it can help.
can16358p · 5h ago
Don't worry, those "idiots" are doing perfectly fine with great salaries and a nice developer experience who apparently figured out using archaic hardware for developing newer devices is practically pointless even if there were software support.
Daedren · 3h ago
I've developed a lot of iOS apps for over a decade and have yet to see any semblance of the "nice developer experience" you're mentioning.
touwer · 4h ago
I wouldn't call XCode a nice developer experience. Hell comes closer
croes · 4h ago
Stockholm syndrome
realusername · 3h ago
Good salary for sure but as for the developer experience, the iOS tooling is one of the worst you can have in the modern era. I'd even pick the nodejs anarchy over xcode and that says a lot.
lynx97 · 6h ago
Do you call anyone who isn't of your opinion an idiot?
razemio · 5h ago
I daily every os for 2-3 years and then switch. There are lots of benefits to OSX. Stability, perfect Standby and battery runtime to name a few. This would not be possible if they would support older Hardware. As long as windows and linux is unable to archive similar metrics, they prove apples point about this topic. Just look how fast everybody transitions to M Processors including the software developers. There is no point to stay on old hardware with apple.
jamil7 · 4h ago
Most of us get compensated to do it and the hardware either paid for or tax deductible. Whatever positions you take as a developer, there is strong end-user demand for software on iOS and to a certain extent macOS so there will continue to be people who'll do that dance.
sunshinerag · 4h ago
Yes, I gave up on Apple too after my Intel Celeron box could not be used
realusername · 6h ago
I hope you also have a good internet connection because even in 2025, MacOS is incapable of resuming downloads.
sunshinerag · 4h ago
That is not MacOS you are using?
razemio · 5h ago
What are you talking about?
realusername · 3h ago
I had to redownload 4 times xcode from the Mac App Store because any problem when downloading breaks it.

I think it's the last modern OS which can't resume downloads.

razemio · 1h ago
That is not an OS issue but an issue with the App Store. Also this is not true. I just tried it: https://youtu.be/Z6v1adrsqQM

I guess you have some kind of issue with your clock or io issues which corrupts the package. Are you using a vm?