ios-applisted
Install: claude install-skill BaesTheorem/exobrain-harness
# iOS App Development (CLI-first)
Workflows and hard-won gotchas for driving Apple-platform development from the
terminal, without babysitting the Xcode GUI. Everything here was verified live
on this Mac (Xcode 26.x, macOS 26) building the Plaud One companion app
(`~/Documents/Plaud-dev/ios/PlaudOneCompanion`, see its README and
`scripts/build-ios.sh` / `scripts/build-macos.sh` for working examples).
## Toolchain setup
**Xcode vs Command Line Tools.** The CLT alone cannot build iOS apps (no
iPhoneOS SDK), but it CAN typecheck Swift and build full macOS apps (see the
desktop section). Check what's active: `xcode-select -p`.
**Use DEVELOPER_DIR instead of xcode-select.** Switching the active developer
dir globally needs sudo; a per-command env var does not:
```bash
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild -version
```
Export it once per script. Every `xcrun`/`xcodebuild` below assumes it.
**Installing Xcode headlessly mostly fails.** `mas install 497799835` demands
a sudo password (non-starter in a non-interactive session) and App Store GUI
downloads stall silently (watch `/Applications/Xcode.appdownload` size; if it
sits still for 6+ minutes, the store is waiting on a click or Apple ID prompt;
`open "macappstore://apps.apple.com/app/id497799835"` surfaces the page). Plan
for the user to click Install themselves.
**Xcode ships without the iOS platform.** First build attempts fail with
"iOS X.Y is not installed. Please download and install the