跳到正文
FunCoding

ios-bootstrap-testflight

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.

Star
2,111
许可证
MIT
最近提交
2026年10月8日

skills/ios-bootstrap-testflight/SKILL.md

在 GitHub 上查看

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.

FileWhen
references/bootstrap.mdCreating a new project, or the project won't open/build
references/testflight.mdSigning, archiving, uploading. Holds the user's Team ID and API key details.
references/appstore.mdPublic release — screenshots, metadata, privacy policy, review. Read the 4.3 risk section before the user invests in assets.
references/caveats.mdAnything 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
ScriptDoes
make_icon.swiftRenders a 1024×1024 App Store icon into the asset catalog
run.shBuild → boot simulator → install → launch
upload_testflight.shBump build number → icon → archive → upload to TestFlight
screenshots.shCaptures 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"

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 -p must contain Xcode.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.

相似的 Skill

receiving-code-review

OBobra/superpowers298k近 7 天新增 2,631 个 star

requesting-code-review

OBobra/superpowers298k近 7 天新增 2,631 个 star

systematic-debugging

OBobra/superpowers298k近 7 天新增 2,631 个 star

code-review

MAmattpocock/skills288k近 7 天新增 10,178 个 star

codebase-design

MAmattpocock/skills288k近 7 天新增 10,178 个 star

scaffold-exercises

MAmattpocock/skills288k近 7 天新增 10,178 个 star