# IOS Bootstrap Testflight

Scaffold a native iOS app (SwiftUI, no dependencies) from nothing, run it in the...

- Repository: https://github.com/Leanmcp/gateway-skills (2122 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-07
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Leanmcp/gateway-skills --skill ios-bootstrap-testflight -g -a claude-code -y`
Codex: `npx skills add Leanmcp/gateway-skills --skill ios-bootstrap-testflight -g -a codex -y`
Cursor: `npx skills add Leanmcp/gateway-skills --skill ios-bootstrap-testflight -g -a cursor -y`
Gemini CLI: `npx skills add Leanmcp/gateway-skills --skill ios-bootstrap-testflight -g -a gemini-cli -y`

## Description

Scaffold a native iOS app (SwiftUI, no dependencies) from nothing, run it in the Simulator, and archive + upload it to TestFlight entirely from the command line. Bundles working scripts for icon generation, simulator run, and signed upload via the App Store Connect API. Use this whenever the user wants to build, run, ship, or debug an iOS/iPhone/iPad app, mentions Xcode, SwiftUI, .xcodeproj, xcodebuild, simctl, provisioning, code signing, App Store Connect, TestFlight, archiving, or "get this on my phone", and also when an existing iOS build is failing on icons, signing, teams, destinations, or duplicate build numbers.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# iOS bootstrap → TestFlight

Two jobs: create an iOS app that builds, and get it onto a real phone. Both are
almost entirely CLI. Xcode's UI is only needed for first-time account setup.

## Read next

| File | When |
|---|---|
| `references/bootstrap.md` | Creating a new project, or the project won't open/build |
| `references/testflight.md` | Signing, archiving, uploading. **Holds the user's Team ID and API key details.** |
| `references/appstore.md` | Public release, screenshots, metadata, privacy policy, review. Read the 4.3 risk section *before* the user invests in assets. |
| `references/caveats.md` | Anything looks wrong on device, button styling, layout, gestures, animation |

## Scripts

Copy into the project's `workspace/` and run from the project root. They
auto-detect the `.xcodeproj` and scheme, so they work unmodified in any project.

```bash
mkdir -p workspace
cp ~/.claude/skills/ios-bootstrap-testflight/scripts/* workspace/
chmod +x workspace/*.sh
```

| Script | Does |
|---|---|
| `make_icon.swift` | Renders a 1024×1024 App Store icon into the asset catalog |
| `run.sh` | Build → boot simulator → install → launch |
| `upload_testflight.sh` | Bump build number → icon → archive → upload to TestFlight |
| `screenshots.sh` | Captures App Store screenshots at Apple's exact required sizes |

```bash
time ./workspace/run.sh                          # test locally
time ./workspace/upload_testflight.sh --validate # archive only, no API key needed
time ./workspace/upload_testflight.sh            # bump + archive + upload
```

## The rule that saves the most time

**Never run `xcodebuild` raw and read the output.** It emits thousands of lines
and buries the one that matters. Always filter:

```bash
xcodebuild ... 2>&1 | grep -E "error:|warning:|BUILD"
```

The rest: https://github.com/Leanmcp/gateway-skills/blob/HEAD/skills/ios-bootstrap-testflight/SKILL.md
