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.
bashmkdir -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 |
bashtime ./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:
bashxcodebuild ... 2>&1 | grep -E "error:|warning:|BUILD"
A build can print ** BUILD FAILED ** while every Swift file compiled fine —
asset catalog and signing failures look identical to code failures in raw logs.
Check which build command failed before assuming the code is broken.
Environment expectations
- Xcode (full app, not Command Line Tools) —
xcode-select -pmust containXcode.app - ~40 GB free disk for Xcode + one iOS platform
- Apple Developer Program membership for TestFlight (free tier cannot upload)
If any of that is missing, references/bootstrap.md has the setup commands in
order.


