Skip to main content

KXBuild

The cross-platform iOS IDE. Develop, debug and ship iOS apps on Windows.

Build iOS apps on Windows, Linux and macOS. Works with Xcode projects and the xcodebuild command. Develop, debug and ship Swift, Objective-C, Flutter, React Native, Expo, Unity and uni-app projects without changing them.

VS Code on Windows stopped at a breakpoint in a Swift app running on an iPhone, with variables, call stack and threads on the left

VS Code on Windows. Press F5 and the breakpoint hits on a USB-connected iPhone, with variables and the call stack on the left.

Runs on Windows 10 / 11 Linux / WSL macOS

Any project type

Use your existing Xcode projects without changing a thing

.xcodeproj, .xcworkspace, Swift packages and CocoaPods workspaces open and build without changes, using the schemes, configurations and build settings in the project. For Flutter, React Native, Expo and Kotlin Multiplatform, KXBuild builds only the native iOS part, and you keep using their own tools.

Start new projects from 11 templates, including SwiftUI, UIKit (Swift, Objective-C or mixed), a WKWebView wrapper, CocoaPods, Flutter, React Native, Expo, a Swift framework and an Objective-C static library.

Create, open and import projects →

Template list in the New Project wizard

On-device debugging

Debug on your iPhone from Windows. Plug in, press F5.

Connect your iPhone over USB. No launch.json needed. Breakpoints, variables and call stacks for Swift, Objective-C and C/C++ all live in VS Code, and Flutter projects get Dart debugging attached automatically. Device logs, crash reports, screenshots and CPU and memory profiling come straight from the device.

Run and debug →

The sidebar showing the iPhone, build configuration and project

Build and release

Build an App Store-ready .ipa on Windows, Linux or macOS

A Release build writes an upload-ready .ipa to your project folder. Upload it to App Store Connect with Transporter or Appuploader, then use TestFlight and App Review as usual.

Release and App Store submission →

PS D:\projects\MyApp> kxbuild build MyApp.xcodeproj -c Release
INFO build output: D:\projects\MyApp\build
CompileSwiftSources normal arm64 (in target 'MyApp')
CompileStoryboard LaunchScreen.storyboard (in target 'MyApp')
CompileAssetCatalog Assets.xcassets (in target 'MyApp')
Ld MyApp.app/MyApp normal (in target 'MyApp')
CodeSign MyApp.app (in target 'MyApp')
INFO Build succeeded executed=42 up-to-date=0 duration=1m12s
INFO Packaged ipa path=D:\projects\MyApp\build\MyApp.ipa

Project file editors

Project settings, Info.plist and app icons, edited visually without Xcode

Project settings, Info.plist, asset catalogs and icon documents each have a visual editor. No more hand-editing XML or project.pbxproj.

  • Six editors

    Project settings, property lists, asset catalogs and app icons, string catalogs, icon documents and a provisioning profile viewer. They save the original files, so Xcode opens them as usual.

  • Code completion without building first

    Completion, go to definition, hover and diagnostics work as soon as you open the project, for Swift, Objective-C and C/C++ alike, including system framework APIs.

  • Use your AI assistants

    Copilot, Claude Code and other VS Code assistants work in iOS projects just like in any other project.

See everything the VS Code extension can do →

Command line

An xcodebuild-compatible CLI. Your build scripts and CI run unchanged.

kxbuild handles projects and builds. Going from source to .ipa takes one command, and so do installing on a device, reading logs and profiling.

  • Source to .ipa in one command

    Build Xcode projects, workspaces and Swift packages directly. Release builds produce an upload-ready .ipa, and Debug builds with --install go straight to your iPhone.

  • Drop-in xcodebuild and xcrun

    The install includes xcodebuild and xcrun commands, so React Native, Expo, Flutter and Cordova build scripts run as they are.

  • Build machines on Windows, Linux or macOS

    Build on Windows and Linux CI runners, with a fixed output folder and the same artifacts you get locally.

  • --json for scripts and AI agents

    Every command can emit machine-readable progress, diagnostics and results, with meaningful exit codes. Great for automation and AI agents.

Explore the CLI →

$ kxbuild doctor ios/
INFO Running environment diagnostics...
INFO ✓ Development tools are up to date
$ kxbuild build ios/MyApp.xcworkspace -s MyApp -c Release --json
{"type":"progress","phase":"CompileSwiftSources","current":12,"total":42}
{"type":"progress","phase":"CodeSign","current":42,"total":42}
{"type":"result","command":"build","data":{"success":true,"duration":"1m12s","ipa":["ios/build/MyApp.ipa"]}}
$ kxdevice install ios/build/MyApp.ipa
installing: 100% Complete

Support

Which iOS projects can you build on Windows?

kxbuild builds any standard Xcode project or Swift package. Here are the most common project types, all supported on Windows 10 / 11, Linux / WSL and macOS.

Project type Build Install on device Breakpoints Release .ipa
Xcode projects (Swift / Objective-C) .xcodeproj / .xcworkspace, including storyboards, XIBs, asset catalogs and Core Data models ✓ ✓ ✓ ✓
Swift packages Remote and local dependencies, resources, macros, build plugins and binary XCFrameworks. App packages convert to an app project to produce an .ipa. ✓ ✓ ✓ ✓
CocoaPods workspaces Ruby and CocoaPods come with the toolchain, so pod install just works ✓ ✓ ✓ ✓
Flutter Open the project root. Breakpoints in both native and Dart code, and hot reload works as usual. ✓ ✓ ✓ ✓
React Native / Expo Community CLI and expo prebuild projects, with no changes to build scripts ✓ ✓ ✓ ✓
uni-app (HBuilderX) Imports the HBuilderX project and the official iOS SDK into a buildable Xcode project ✓ ✓ ✓ ✓
Kotlin Multiplatform The iosApp project, with breakpoints in Kotlin code too. Compose Multiplatform is supported. ✓ ✓ ✓ ✓
Unity The exported Xcode project builds like any native project ✓ ✓ ✓ ✓
Godot The exported Xcode project builds like any native project ✓ ✓ ✓ ✓
cocos2d-x Builds as a native project, engine subprojects included. For 4.x, doctor generates the project. ✓ ✓ ✓ ✓
Cordova The Xcode project in platforms/ios. Keep using the cordova command as usual. ✓ ✓ ✓ ✓

Step-by-step guides for each framework →

FAQ

Questions about iOS development on Windows

Can I really develop iOS apps on Windows?
Yes. KXBuild builds iOS apps natively on Windows and debugs them on an iPhone connected over USB. Release builds produce an .ipa directly. Everything runs natively, with no extra system dependencies and no performance overhead. KXBuild runs on Linux and macOS too.
Which systems does KXBuild run on?
Windows, Linux and macOS, natively. KXBuild is a complete, standalone build toolchain that runs on each platform and CPU architecture, so you get your machine's full performance.
How do Flutter, React Native, Expo and uni-app work?
For Flutter, React Native and Expo, open the project root. KXBuild builds the iOS side, and their build scripts stay unchanged. For uni-app, run "Import uni-app Project" to turn the HBuilderX project and the official iOS SDK into a buildable Xcode project. See the Stacks pages for step-by-step guides.
What do I need to debug on an iPhone?
An iPhone and a USB cable. On Windows you also need Apple Devices from the Microsoft Store for the USB driver: install it, open it, and check that it shows your iPhone. Trust the computer on your iPhone, turn on Developer Mode, then press F5.
Do I need to install Xcode?
No. KXBuild ships a complete set of development tools that installs with one command and doesn't depend on Xcode.
Can I use my existing Xcode projects?
Yes. KXBuild is compatible with Xcode projects and with xcodebuild, so it works with your existing projects. .xcodeproj, .xcworkspace, CocoaPods workspaces and Swift packages open and build as they are, using the project's own schemes and configurations. You don't have to change the project files.
Will my existing build scripts and CI pipelines work?
Yes. The install includes xcodebuild and xcrun commands, so your own build scripts and the ones that come with React Native, Expo, Flutter and Cordova work unchanged. Windows and Linux CI machines can build too, with the same output as your local builds.
Can I publish to the App Store?
Yes. The .ipa KXBuild produces has the same structure as one from Xcode. After a Release build, upload it to App Store Connect with Transporter or Appuploader, then go through TestFlight and App Review as usual.

Start building iOS apps on Windows today

One command installs KXBuild on Windows, Linux or macOS.

Windows PowerShell

PS> irm https://api.kxbuild.net/install.ps1 | iex

Linux · macOS

$ curl -fsSL https://api.kxbuild.net/install.sh | bash

Installation guide →