Build and sign iOS apps on Linux — no Mac, no Xcode.
| Tool | Purpose |
|---|---|
| Swift 6.2.3 | Compile Swift packages and iOS-targeted apps |
| xtool | Cross-compile Swift for iOS on Linux |
| zsign | Sign IPAs without Xcode |
| Theos | iOS tweak and app development |
Codespaces — click the button above. First build takes ~10-15 min, cached after that.
VS Code — clone the repo, open it, run Dev Containers: Reopen in Container.
Docker Compose — runs code-server on port 8080, password changeme:
docker compose up -dVerify everything works:
swift --version && xtool --help && zsign -h && ls $THEOSCopy .devcontainer/ into any repo and open a Codespace — your project builds with the same toolchain.
- No Xcode, no Simulator, no SwiftUI previews
Blank screen behind dev tunnels — configure code-server with your proxy domain:
docker compose exec swift-dev bash -c "mkdir -p /home/vscode/.config/code-server && cat > /home/vscode/.config/code-server/config.yaml << 'EOF'
bind-addr: 0.0.0.0:8080
auth: password
password: changeme
cert: false
proxy-domain: your-tunnel-domain.devtunnels.ms
EOF"
docker compose restartIf issues persist, use VS Code's built-in tunnel instead of forwarding port 8080.
Config files only. See upstream licenses: Swift · xtool · zsign · Theos
Questions? Open an issue or hit me on Discord at ayon1xw.
