Skip to main content

TestFlight Distribution

Distribute builds to beta testers using TestFlight
Manage your TestFlight beta testing program end-to-end, from organizing beta groups to collecting feedback from testers.

Overview

TestFlight allows you to distribute pre-release builds to internal and external testers. The CLI provides complete automation for:
  • Managing beta groups and testers
  • Distributing builds to specific groups
  • Collecting and reviewing crash reports and feedback
  • Tracking beta tester metrics

Beta Groups Workflow

1

List existing beta groups

View all beta groups for your app:
Filter to internal or external groups:
2

Create a new beta group

Create an external beta group:
Create an internal beta group:
3

Configure group settings

Enable public link for external distribution:
Enable feedback collection:

Managing Beta Testers

1

Add beta testers

Add a new tester to a beta group:
Optionally include name details:
2

Import testers in bulk

Export existing testers to CSV:
Import testers from CSV (with dry-run first):
3

List and filter testers

List all testers for an app:
Filter by beta group:
Filter by build:
4

Send invitations

Invite a tester to start testing:
Invite and auto-create if tester doesn’t exist:

Distributing Builds to Groups

1

Find your build ID

List recent builds:
Get a specific build:
2

Add build to beta groups

Add a build to one or more groups:
Add to multiple groups:
3

Verify distribution

Check which groups have access to a build:

Feedback and Crash Reports

1

View crash submissions

Get crash submission details:
Download the crash log:
2

View screenshot feedback

Get screenshot submission with annotations:
3

Retrieve crash logs

Get detailed crash logs for analysis:
4

Clean up old feedback (optional)

Delete processed crash submissions:
Delete screenshot submissions:

Beta Tester Metrics

Track how testers engage with your builds:
This provides insights into:
  • Number of sessions per tester
  • App version usage
  • Install and session counts

Complete Example Workflow

Here’s a complete workflow for distributing a new build:

Troubleshooting

Tester Not Receiving Invitation

  1. Verify the tester is added to the group:
  2. Check if invitation was sent:
  3. Resend invitation:

Build Not Appearing for Testers

  1. Verify build is assigned to the group:
  2. Check build processing status:
  3. Ensure build passed TestFlight review:

Managing Group Limits

Internal groups have a limit of 100 testers. External groups can have up to 10,000 testers. To check current tester counts:
If you hit limits, create additional groups:

Best Practices

  1. Organize by testing focus: Create separate groups for different testing purposes (QA, feature testing, general beta)
  2. Use CSV import for bulk operations: Export your current tester list, make changes, and re-import
  3. Enable feedback collection: Turn on feedback for external groups to collect valuable user input
  4. Monitor crash reports: Regularly check crash submissions and address issues before App Store release
  5. Set public link limits: For public beta links, set reasonable limits to control your beta population size
  6. Track metrics: Use beta tester usage metrics to identify your most active testers