iOS-style apps, built on Linux.
Cider is an open-source compatibility runtime for developing and testing iOS-style applications on Linux. It does not emulate iPhone hardware and does not redistribute iOS — it keeps the edit-run-inspect loop on the machine you already work on.
Walkthrough
Engineered for the machine you already have.
Cider is pre-alpha — stages 0 through 2 of the roadmap are complete. There is no networking, no persistent storage, and no compatibility contract yet. What follows is what actually runs today.
Builds and runs on Linux
A Swift application launches through the Cider CLI into a sandboxed, CI-verified runtime, over X11 and FreeType. cider doctor inspects the host and names the package to install when something is missing.
Build Output
$ cider doctor
✓ swift 6.0 ✓ pkg-config
✓ libX11 ✓ freetype ✓ fontconfig
$ cider run — window opened, app running
Real Swift, not a port
CiderApp, CiderView, Text, Button, VStack, List, NavigationView, Modal and @CiderState, compiled through SwiftPM — with a normalized UI tree, a two-pass layout engine, and a portable software rasterizer behind them.
Compiler Output
$ swift build
Compiling CiderUI, CiderKit, CiderCLI
Build complete — .build/debug/cider
186 tests passed
Loud, useful failures
An unsupported call should say what failed, where, why, and how to fix it. Cider does not claim exact iOS compatibility and does not replace Xcode for shipping — and it tells you so at the point you hit the edge.
Runtime Diagnostic
CiderError.unsupported
URLSession is not implemented yet
at HelloCiderApp.swift:22
Networking lands in stage 3 — see docs/
Apple's toolchain remains the authority for iOS compilation, code signing, physical-device validation, and App Store distribution. Cider replaces none of it. It will not boot or redistribute iOS, emulate iPhone hardware, run App Store binaries, or bypass code signing.