Develop Swift/iOS projects using VSCode
Overview
Build, run, debug, and test iOS, macOS, tvOS, watchOS, and visionOS apps from your terminal, without opening Xcode. No Xcode window, no editor required. Works with Xcode projects and workspaces, Tuist, XcodeGen, and Swift Packages. Full documentation lives at . If it saves you time, star the repo ⭐️ or become a sponsor 💰 A Mac with Xcode is the whole dependency list. Then: run builds, installs, launches, and streams the logs. Press r to rebuild and relaunch without leaving, q to quit. The first run asks which scheme to build and where to run it, then , so you never answer again. To skip the question outright, say where you want it: - : sweetpad run --hot patches each Swift file you save into the live process, so the app keeps its screen and its state. - : sweetpad bsp init points SourceKit-LSP at SweetPad's build server, so Neovim, Zed, Helix, and Emacs get completions and diagnostics on a real Xcode project.
README
SweetPad
xcodebuild for humans and agents.
A command-line tool that builds, runs, debugs, and tests apps for iOS, macOS, etc. without opening Xcode. It works with Xcode projects and workspaces, Tuist, XcodeGen, and Swift packages.
brew install sweetpad-dev/tap/sweetpad
cd MyApp
sweetpad run # build, install, launch, and stream logs
sweetpad run --on "iPhone 16 Pro" # pick a simulator or device
sweetpad test --on booted # test on the simulator that is already booted
The first run asks for a scheme and a destination and saves the answers. While run is active,
press r to rebuild or q to quit.
Features
- Pleasant to use: short commands, prompts in place of required flags, and built-in help for every command.
- Short build output: a small app’s build
prints 7 lines, where
xcodebuildprints 350. - Destinations: simulators, connected devices,
and the Mac, picked by name with
--on. - Testing: run a single test, rerun failures, retry flaky tests, and export coverage and JUnit reports.
- Autocomplete:
sweetpad bsp initsets up SourceKit-LSP for Neovim, Zed, Helix, and Emacs. - Hot reload:
sweetpad run --hotapplies saved Swift changes without restarting the app. - Debugging: breakpoints in Neovim, Zed,
or VS Code through
sweetpad dap, plus scripted lldb sessions and structured crash reports. - Scripts and CI: JSON output and specific exit codes on every command.
- Agent skills: instructions that teach coding agents to use the CLI.
More
Documentation: sweetpad.hyzyla.dev
There is also a VS Code extension. The CLI does not depend on it.
Sponsor: GitHub Sponsors · Buy Me a Coffee
License: MIT
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add sweetpad-dev/sweetpad