All pages
Powered by GitBook
1 of 2

Loading...

Loading...

TestFlight Overview

TestFlight beta testing lets you distribute beta builds of your app to testers and collect feedback. You can enable TestFlight beta testing for up to 100 apps at one time in your App Store Connect account. Learn more.

Make improvements to your app and continue distributing builds until all issues are resolved before you submit your app to the App Store.

Step 1: Enter your test information

Enter test information about your app, such as a description and feedback email. You will need this if you plan to distribute your build to external testers (persons outside your team).

Step 2: Upload your build

Upload your build to the App Store. Read Cryptography and U.S. Export Compliance to determine if you need to provide export compliance documentation for your app. After builds are uploaded, they are available for testing for 90 days.

Step 3: Invite internal and external testers

You can create groups for internal and external testers, then assign specific builds to them. After you've added builds to a group, you can add external testers (up to 10,000 people) and (up to 100 App Store Connect users with access to your content) to test your app. If you invite external testers, the build needs to be approved by before testing can begin.

Testers install the free app on their devices. Then they use their invitation email or a public link to accept invitations, install your app, send feedback, and get updates. Testers download and install thinned variants of your app.

Track your tester engagement and your app’s performance by in App Store Connect—such as numbers of sessions and crashes. You can also resend email invitations to testers who have not yet accepted their invitation.

Testers running TestFlight for iOS, version 2.3 or later and iOS 13 or iPadOS 13 or later, can send feedback through the TestFlight app or directly from your beta app by taking a screenshot. This is also available in TestFlight for Mac. You can view this in the Feedback section in App Store Connect. Testers running tvOS or earlier versions of iOS can send feedback to the email address you specified in step 1.

When you are done testing, you can optionally to stop testing it, and then go to for the process of submitting your app to the App Store. If you don’t expire your build and submit it to the App Store, testers that have received an invite to test will still be able to test your build even after it goes live on the App Store. Your build will become unavailable in TestFlight after 90 days.

To make your beta builds available to members of your App Store Connect team, your app doesn’t need review by TestFlight App Review. To make your beta builds available to external users, your beta build may require review. When you add the first build of your app to a group, the build gets sent to TestFlight App Review to make sure it follows the . A review is only required for the first build of a version and subsequent builds may not need a full review. Testing can begin once a build is approved.

Step 4: Testers download TestFlight and accept your invitations

Step 5: View tester and build information

Step 6: Collect feedback from testers

Step 7: Stop testing

Do I need to get approval to start testing beta builds?

internal testers
TestFlight App Review
TestFlight
viewing build status and metrics
tester feedback
expire a build
Overview of publishing an app
App Store Review Guidelines

TestFlight in Depth

Testing Apps with TestFlight

Help developers test beta versions of their apps and App Clips using the TestFlight app. Download TestFlight on the App Store for iPhone, iPad, Mac, and Apple TV.

Getting started

To test beta versions of apps using TestFlight, you’ll need to accept an email or public link invitation from the developer and have a device that you can use to test. You’ll be able to access the builds that the developer makes available to you.

If you’re a member of the developer’s team, the developer can give you access to all builds or certain builds.

Required platforms

  • iOS or iPadOS apps: iPhone, iPad, or iPod touch running iOS 13 or iPadOS 13 or later. App Clips require iOS 14 or iPadOS 14, or later.

  • macOS apps: Mac running macOS 12 or later.

Arabic, Catalan, Chinese (simplified), Chinese (traditional), Croatian, Czech, Danish, Dutch, English (Australia), English (U.K.), English (U.S.), Finnish, French, French (Canada), German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malaysian, Norwegian, Polish, Portuguese (Brazil), Portuguese (Portugal), Romanian, Russian, Slovak, Spanish, Spanish (Latin America), Swedish, Thai, Turkish, Ukrainian, and Vietnamese.

Each build is available to test for up to 90 days, starting from the day the developer uploads their build. You can see how many days you have left for testing under the app name in TestFlight. TestFlight will notify you each time a new build is available and will include instructions on what you need to test. Alternatively, with TestFlight 3 or later, you can turn on automatic updates to have the latest beta builds install automatically.

When the testing period is over, you'll no longer be able to open the beta build. To install the App Store version of the app, download or purchase the app from the App Store. In-app purchases are free only during beta testing, and any in-app purchases made during testing will not carry over to App Store versions.

To get started, install TestFlight on the device you’ll use for testing. Then, accept your email invitation or follow the public link invitation to install the beta app. You can install the beta app on up to 30 devices.

  1. on the iOS or iPadOS device that you’ll use for testing.

  2. Open your email invitation or tap the public link on your device.

  3. When installing via email invitation, tap “View in TestFlight” or “Start testing” then tap “Install” or “Update” for the app you want to test.

  1. on the Mac that you’ll use for testing.

  2. Open your email invitation or click the public link on your Mac.

  3. When installing via email invitation, click “View in TestFlight” or “Start testing” then click “Install” or “Update” for the app you want to test.

Create a group and add up to 100 (App Store Connect users with access to your content) to test your app using . You can choose to automatically distribute builds to internal groups or add them manually. Builds created by Xcode Cloud always need to be manually added to groups in App Store Connect.

Required role: , , , , or . See .

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, click the Add button (+) next to Internal Testing.

Select the “Enable automatic distribution” checkbox to allow Xcode to automatically deliver builds to everyone in the group. If automatic distribution is not enabled, all builds must be manually added to the group. Builds created by Xcode Cloud always need to be manually added to groups in App Store Connect.

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, click the Add button (+) next to Internal Testing.

If you have builds available for testing, the users you select will receive an email inviting them to test the app. They’ll be directed to accept the invitation using the app on their device or via a redemption code. Internal testers can download and test all builds for 90 days.

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, click the group you want to add a build to.

If you have builds available for testing, the users you selected will receive an email inviting them to test the app. The users will be directed to accept the invitation using the app on their device or via a redemption code. Internal testers will be able to download and test all builds for 90 days.

You can invite (persons outside your team) to test your app using once you’ve uploaded at least one build. To make your build available for external testing, create a group, add builds, and then invite testers using their email address or by sharing a public invitation link.

Required role: , , or . See .

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, click the Add button (+) next to External Testing to add a new group.

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, under External Testing, select the group you want to add builds to.

After you submit your build to TestFlight App Review, Apple reviews the build and the accompanying . The first build you submit requires a full review, but later builds for the same version may not.

If Apple approves your build for TestFlight beta testing, users on the App Store Connect account with the Admin role will receive an email notifying them of the approval.

If Apple rejects your build or metadata, the external status will be Rejected and you can click status to see rejection details.

Note: Submitting a build to TestFlight App Review doesn’t submit it to App Review for sale in the App Store.

Once you have builds available to test, and you've added them to a group, you can invite testers.

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, under Testers & Groups, select a group.

    You can Invite testers using a public link, email, or both.

To invite testers using a public link:

1. Click Enable Public Link, and confirm in the dialog that appears.

2. Under Tester Count, click Set Limit to limit the number of testers that can join this testing group using the public link. Enter a number between 1 and 10,000.

3. Copy the link, and share it using social media, messages, email, or other channel.

Keep in mind that anyone can share this link, so testers may be able to join your testing group even if you don't invite them directly. If a tester joins your group using a public link, their name and email will not be displayed in the Testers section in App Store Connect (it will display as anonymous), but you will be able to see their installation date, sessions, and crashes. You can disable the public link at any time.

1. Click the Add button (+) next to Testers.

2. In the pop-up menu that appears, choose an option. You can add new testers using their emails address, existing testers you've previously added, or import testers from a CSV file.

3. Testers you invite will get an invitation email to start testing. If a tester accepts an email invitation, their name, email address, installation date, sessions, and crashes, will display in the Testers section in App Store Connect.

If you didn’t select “Automatically notify testers” when you added your build to your group, you must manually notify testers when your build is approved.

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, under Builds, click the platform for your app (iOS or tvOS).

The changes to Testing. The external testers will receive a notification directing them to accept the invitation using the TestFlight app on their device.

  1. From My Apps, select your app.

  2. Click the TestFlight tab.

  3. In the sidebar, under Testers &Groups, select a group.

If you want to remove a build from testing for all your testers, go to .

After installing TestFlight 3 or later for iOS, iPadOS, or tvOS, or TestFlight for macOS, you’ll be prompted to turn on automatic updates. This allows the latest available beta builds to install automatically. TestFlight will notify you each time a new build is installed on your device. Automatic updates can be turned off at any time.

Note: This setting will apply to all new beta app builds. Beta apps that have automatic updates set at the individual app level won't be affected

TestFlight for iOS or iPadOS

  1. Open TestFlight and tap Settings in the top right.

  2. Tap Automatic Updates.

  3. Tap On or Off.

TestFlight for macOS

  1. Open TestFlight and choose Preferences from the TestFlight menu.

  2. Under General, select Automatic Updates for New Apps.

TestFlight for iOS or iPadOS

  1. Open TestFlight and go to the app’s page.

  2. Under App Information, turn Automatic Updates On or Off.

TestFlight for macOS

  1. Open TestFlight and go to the app’s page.

  2. Under App Settings, select Automatic Updates.

When viewing an app in TestFlight, you'll see the latest available build by default. You can still test all other builds that are available to you.

If you already have the App Store version of the app installed on your device, the beta version of the app will replace it. After you download the beta app, you’ll see an orange dot next to its name that identifies it as a beta.

When you accept a TestFlight invitation through a public link, your name and email address aren’t visible to the developer. However, they’ll be able to see your number of sessions and crashes, the day you installed their app, and the latest installed version.

  1. Open TestFlight and go to the app’s page.

  2. Tap View Previous Builds or, if you're using Xcode Cloud, tap Versions and Build Groups.

  3. Tap either the Versions tab or Build Groups tab, then tap and install the build you want to test. The build you choose will replace what's currently installed.

  1. Open TestFlight and go to the app’s page.

  2. Next to Build Information, click View Previous Builds or, if you're using Xcode Cloud, click Versions and Build Groups.

  3. Click either the Versions or Build Groups tab, then select and install the build you want to test. The build you choose will replace what’s currently installed.

While testing a beta version of an app or App Clip, you can send the developer feedback about issues you experience, or make suggestions for improvements based on the “What to Test” content. Feedback you submit through TestFlight is also provided to Apple as part of the TestFlight service.

You can send feedback through the TestFlight app or directly from the beta app or beta App Clip by taking a screenshot, and you can report a crash after it occurs. If you were invited to test an app with a public link, you can choose not to provide your email address or other personal information to the developer. Apple will also receive all feedback you submit and will be able to tie it to your Apple ID.

For iOS or iPadOS:

  1. Open the TestFlight app on your device.

  2. From the Apps list, tap the app.

  3. Tap Send Beta Feedback.

For iOS 12.4 or earlier:

If your device is running iOS 12.4 or earlier, tap Send Beta Feedback to compose an email to the developer. The feedback email contains detailed information about the beta app and about your iOS device. You can also provide additional information, such as necessary screenshots and steps required to reproduce any issues. Your email address will be visible to the developer when you send email feedback through the TestFlight app even if you were invited through a public link.

For macOS:

  1. Open the TestFlight app on your Mac.

  2. From the Apps list in the sidebar, select the app you want to send feedback for.

  3. Click Send Beta Feedback.

Note: You can drag and drop screenshots into the feedback text field.

When you take a screenshot while testing a beta app or beta App Clip, you can send the screenshot with feedback directly to the developer without leaving the app or App Clip Experience. Developers can opt out of receiving this type of feedback, so this option is only available if the developer has it enabled.

For iOS or iPadOS:

  1. Take a screenshot on your device. For details on how to take screenshots, see , , and .

  2. A thumbnail of your screenshot appears in the lower-left corner of your device. Tap the thumbnail and, if needed, add drawings and text with . Then tap Done.

  3. Tap Share Beta Feedback.

For macOS:

  1. Take a screenshot on your Mac. For details on how to take screenshots, visit

  2. A thumbnail of your screenshot appears in the lower-right corner of your Mac. Click the thumbnail to open the window and, if needed, add drawings and text with .

  3. From the Share menu in the Quick Look window, click Send Beta Feedback.

If you experience a crash while testing a beta app or beta App Clip, you’ll receive an alert asking if you want to send crash details to the developer through TestFlight. Developers can opt out of receiving this type of feedback, so this option is only available if the developer has it enabled.

When a crash alert displays for TestFlight for iOS or iPadOS, tap Share, add any additional comments, then tap Submit.

When a crash alert displays for TestFlight for macOS, click Report, add any additional comments, then click OK, Send, or Reopen.

To provide feedback on a tvOS app, open TestFlight, go to app’s page, go to the Information section to view the developer's email address, and send them an email. Provide as much information as you can, including screenshots and steps required to reproduce any issues you encountered. Please note that your email address will be visible to the developer when you send email feedback through TestFlight.

If you need to contact the developer while you’re testing their beta app for reasons other than feedback, you can view their email address. In TestFlight, go to the app’s page, go to the Information section, and tap App Details to view the developer’s email address.

If you don’t accept your email invitation, the beta app will not be installed and Apple will not send you any further communications regarding testing. If you accepted the invitation but no longer wish to test the app, you can delete yourself as a tester on the app’s Information page in TestFlight by tapping Stop Testing. Alternatively, you can email the developer to ask them to remove you by clicking the Unsubscribe link at the bottom of a TestFlight build notification email.

When you test beta apps or beta App Clips with TestFlight, Apple will collect and send crash logs, your personal information such as name and email address, usage information, and any feedback you submit to the developer. Information that is emailed to the developer directly is not shared with Apple. The developer is permitted to use this information only to improve their app and is not permitted to share it with a third party. Apple may use this information to improve the TestFlight app.

Apple retains TestFlight data for one year. To view and manage your data with Apple, including your data that is sent to Apple through TestFlight, visit . For more information about how the developer handles your data, consult their privacy policy. To request access to or deletion of your TestFlight data, contact the developer directly.

The following data is collected by Apple and shared with the developer when you use TestFlight. If you accepted an invitation through a public link only, your email address and name are not visible to the developer.

Data
Description

When you send feedback through TestFlight or send crash reports or screenshots from the beta app, the following additional information is shared. This information is collected by Apple and shared with developers. Apple retains the data for one year.

Data
Description

Copyright © 2022 Apple Inc. All rights reserved.

When installing via public link, tap “Install” or “Update”.
When installing via public link, click “Install” or “Update”.
In the dialog that appears, enter the name for a new internal group, then click Create. You can change the name later, if needed.
Next to Testers, click the Add button (+).

Users that are eligible to be internal testers appear in a dialog.

Note: If a user you want to add doesn’t appear, change their user role.

  • Select the checkbox next to each user you want to invite, then click Add.

  • On the right, click the Add button (+) next to Builds.
  • Select the build you want to add to the group, then click Next.

  • Enter the What to Test information and optionally enter localized versions of test information in the fields under each language-specific section.

    Note: This information will be available to testers in all groups that have access to the build.

  • Click Add.

  • In the dialog that appears, enter a group name, then click Create.

    Later, you can change the name of the group if needed.

    On the right, click the Add button (+) next to Builds.
  • In the build dialog, select the platform and version from the pop-up menus.

  • From the table, select a build, then click Next.

    Although you can add only one build at a time, you can add additional builds later.

    Note: Enter test information such as Feedback Email and Contact Information if these details have not yet been provided in the Test information dialog.

  • In the What to Test dialog, enter what you want testers to focus on.

  • Optionally, enter localized versions of testing information in the text fields under each language-specific section.

  • Optionally, select “Automatically notify testers.”

    If you leave this checkbox deselected, you will have to manually distribute the build to testers after it's approved by TestFlight App Review later.

  • Depending on the status of the build, click either Submit Review or Start Testing.

    You can only have one build of each version in review at a time. Once that build is approved, you can submit additional builds.

  • Choose a version, then under Status, click Notify Testers for the build row.
    On the right, under Builds, hover over the build you want to remove.
  • Click the delete button.

  • In the dialog that appears, confirm you want to remove the build from the group and click Remove.

  • In the share dialog, tap Include Screenshot to choose a screenshot. If you don’t want to send an attachment, tap Don't Include Screenshot.
  • Add your comments (up to 4,000 characters), and optionally enter your email address if you were invited with a public link.

  • Tap Submit.

  • In the feedback dialog that appears, add your comments (up to 4,000 characters), and optionally enter your email address if you were invited with a public link.
  • Optionally, attach a screenshot by clicking Attach Screenshot.

  • Click Submit.

  • Optionally, you can add comments (up to 4,000 characters), and your email address if you were invited with a public link.

  • Tap Submit.

  • Optionally, you can add comments (up to 4,000 characters), and your email address if you were invited with a public link.

  • Click Submit.

  • Status

    The status of your invitation: Invited, Accepted, or Installed. This status is refreshed when you accept or install a beta build.

    Installs

    The number of times you've installed a beta build.

    Sessions

    The number of times you've used a beta build.

    Crashes

    The number of crashes per beta build.

    Device

    The model of your device.

    iOS Version

    The version of iOS your device is running.

    macOS Version

    The version of macOS your device is running.

    Language

    Your device language.

    Carrier

    Your wireless service provider.

    Time Zone

    The time zone your device is set to.

    Architecture

    The type of Central Processing Unit (CPU) for your device.

    Connection Type

    Whether you were connected to Wi-Fi, cellular, or not connected at the time that the feedback was sent, and your network type.

    Paired Apple Watch

    The model and watchOS version of the paired Apple Watch, if applicable.

    Screenshots

    The screenshots you shared when providing feedback.

    Comments

    The comments you shared when providing feedback.

    App Uptime

    The length of time the app was open and running at the time the feedback was sent.

    Disk Free

    The amount of disk space you had available when you sent feedback.

    Battery

    Your battery level at the time the feedback was sent.

    Screen Resolution

    The screen resolution of your device.

    Crash Logs

    Symbolicated crash logs. This includes information about how long the app was running before it crashed.

    Email Address

    The email address with which you were invited to test the app. This may or may not be the same as the Apple ID associated with your device. If you were invited with a public link, your email address is not shared with the developer.

    Name

    Your first and last name as entered by the developer when they invited you to test the app using your email address. If you were invited with a public link, your name is not shared with the developer.

    Invitation Type

    Whether you were invited by email or through a public link.

    App Name

    The name of the app you are testing.

    App Version

    The most recent version and build that you have access to. This is the number that displays under the app name in the list of apps in TestFlight.

    Installed App Version

    The version and build you have installed on your device.

    Available languages

    Installing and testing beta apps

    Installation

    Installing a beta iOS or iPadOS app via email or public link invitation

    Installing a beta macOS app via email or public link invitation

    Adding Internal Test Users

    Create an Internal Test group

    Add internal testers to a group

    Add builds to a group

    Invite external testers

    Create a group

    Add builds to a group

    Invite external testers

    To invite testers using their email address:

    Notify external testers after your build is approved

    Remove a build from a group

    Managing automatic updates

    Use TestFlight to change automatic update settings for all of the beta apps you’re testing:

    Use TestFlight to change automatic update settings for individual beta apps you’re testing:

    Testing builds from previous versions and build groups

    TestFlight for iOS and iPadOS

    TestFlight for macOS

    Giving feedback

    Get feedback on your iOS, iPadOS, or macOS apps

    Sending feedback through the TestFlight app

    Sending feedback through the app

    Sending crash information

    tvOS apps

    Contacting the developer

    Opting out from testing

    Your Privacy and Data

    Information shared by using TestFlight

    Data shared when sending feedback

    Install TestFlight
    Install TestFlight
    internal testers
    TestFlight beta testing
    Account Holder
    Admin
    App Manager
    Developer
    Marketing
    Role permissions
    TestFlight
    TestFlight
    external testers
    TestFlight beta testing
    Account Holder
    Admin
    App Manager
    Role permissions
    metadata
    build status
    Stop testing a build
    Take a screenshot on your iPhone
    Take a screenshot on your iPad
    Take a screenshot on your iPod touch
    Markup
    Take a screenshot on your Mac
    Quick Look
    Markup
    Data and Privacy
    Terms of Service
    Privacy Policy
    set tester limit