IOS Bootstrap Testflight
Scaffold a native iOS app (SwiftUI, no dependencies) from nothing, run it in the...
Install
npx skills add Leanmcp/gateway-skills --skill ios-bootstrap-testflight -g -a claude-code -y- Repository
- Leanmcp/gateway-skills2.1k
- Category
- Testing
- Updated
- 28d ago
- License
- MIT
- Context cost
- Lightabout 589 tokens
- Runs scripts
- Yes, review before use
What it does
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.
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.
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 |
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:
xcodebuild ... 2>&1 | grep -E "error:|warning:|BUILD"


