ios-testflight-deploy

Deploy iOS builds to TestFlight with App Store Connect API key authentication.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/ElvinOuyang/claude-skill-collection --skill ios-testflight-deploy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-testflight-deploy
Source: https://github.com/ElvinOuyang/claude-skill-collection/tree/main/plugins/ios-dev-toolkit/skills/ios-testflight-deploy
Command: npx skills add https://github.com/ElvinOuyang/claude-skill-collection --skill ios-testflight-deploy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The ios-testflight-deploy skill removes the guesswork and slow, error-prone steps required to upload iOS builds to TestFlight, including build number conflicts, sandbox-blocked SPM hooks, and App Store Connect authentication details.

Core Features & Use Cases

  • TestFlight-ready deploy decisioning: Chooses whether you must merge server changes first or can deploy from the current iOS branch based on dependency risk.
  • Command-line build → archive → export → upload: Handles the full flow using correct xcodebuild invocations and an ExportOptions.plist suitable for direct upload.
  • API key authentication and failure recovery: Uses persistent App Store Connect API key auth and includes common troubleshooting for auth, signing, working directory, and export path issues.

Quick Start

Tell the skill: "Deploy my iOS app build to TestFlight from the current branch and upload it using the ExportOptions.plist in my project."

Frequently Asked Questions about ios-testflight-deploy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate iOS build uploads to TestFlight from the command line?

You can automate iOS TestFlight uploads by running xcodebuild to archive and export the app, then uploading the package using App Store Connect API key authentication. This workflow handles build number bumping and export path configuration to deploy builds reliably from the command line.

Why does xcodebuild archive fail when using Swift Package Manager dependencies?

xcodebuild archive can fail when SPM git hooks are blocked by the sandbox. Disabling sandbox settings during the archive step resolves this conflict, allowing SPM dependencies to fetch and integrate correctly while the iOS app is being prepared for TestFlight upload.

What's the best way to handle App Store Connect authentication for repeated TestFlight uploads?

The best way to handle App Store Connect authentication for repeated TestFlight uploads is using persistent API key authentication. This avoids session-based login expiration and ensures reliable, automated uploads during rapid device testing loops and feature-branch workflows.

Do I need to bump the build number every time I deploy to TestFlight?

Yes, you must bump the build number for every TestFlight upload to avoid build conflicts. Automating build number incrementation before running xcodebuild archive and export ensures each iteration uploads successfully without App Store Connect rejecting duplicate builds.

Can I deploy an iOS feature branch directly to TestFlight without merging first?

Yes, you can deploy an iOS feature branch directly to TestFlight if dependency risks are low. The workflow evaluates whether server changes require a merge first or if the current branch can be archived, exported with ExportOptions.plist, and uploaded safely for device testing.

Why does my TestFlight upload fail with an export path error?

TestFlight upload export path errors occur when reusing existing directories. You must specify a non-preexisting export path for the xcodebuild export step, ensuring the ExportOptions.plist output is written cleanly without overwriting previous build artifacts during the upload process.