> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rork.com/llms.txt
> Use this file to discover all available pages before exploring further.

# TestFlight: put your app on real phones

> Rork uploads your iPhone build to TestFlight, then gives you a link to invite testers. This page covers the submission steps, the beta link, and exactly what a tester has to do.

export const CtaBanner = () => <div style={{
  display: "flex",
  alignItems: "center",
  justifyContent: "space-between",
  gap: "24px",
  flexWrap: "wrap",
  margin: "40px 0 8px",
  padding: "22px 28px",
  borderRadius: "16px",
  background: "linear-gradient(135deg,rgba(249,115,22,0.10),rgba(255,255,255,0.03),rgba(249,115,22,0.06))",
  border: "1px solid rgba(255,255,255,0.08)"
}}>
    <div>
      <div style={{
  fontSize: "19px",
  fontWeight: 700,
  color: "#fff",
  letterSpacing: "-0.3px",
  lineHeight: 1.3
}}>
        Build your app with Rork today.
      </div>
      <div style={{
  fontSize: "14px",
  color: "rgba(255,255,255,0.6)",
  marginTop: "4px",
  lineHeight: 1.5
}}>
        Ship iOS, Android, and web apps by chatting with AI.
      </div>
    </div>
    <a href="https://rork.com?utm_source=docs&amp;utm_medium=referral&amp;utm_campaign=docs-cta&amp;utm_content=cta-banner" onClick={tagCtaLink} style={{
  flexShrink: 0,
  display: "inline-block",
  padding: "10px 24px",
  background: "linear-gradient(135deg,#fff,#f0f0f0)",
  color: "#000",
  fontSize: "14px",
  fontWeight: 600,
  borderRadius: "100px",
  textDecoration: "none",
  whiteSpace: "nowrap"
}}>
      Try Rork for Free
    </a>
  </div>;

TestFlight is Apple's way of putting an app on real phones before it reaches the App Store. Use it to check your app on a real device, and to let other people try it before review.

Rork uploads the build for you. You do not need Xcode and you do not need a Mac.

## Get a build onto TestFlight

<Steps>
  <Step title="Open Publish, then Submit to App Store">
    In the project header, press **Publish** and choose your iPhone app.
  </Step>

  <Step title="Check the app info">
    Rork shows the name and details the store will see, then **Continue**.
  </Step>

  <Step title="Sign in to Apple">
    Rork needs your Apple Developer account. Membership costs **\$99 a year**, and it may vary by country. If you do not have it yet, see [Create your Apple Developer Account](/store-guides/apple-developer-account).
  </Step>

  <Step title="Start the submission">
    Rork downloads the project, prepares the build, builds the app, and uploads it to App Store Connect. The chat shows each stage, so you can leave and come back.
  </Step>

  <Step title="Wait for Available on TestFlight">
    When the upload finishes, Rork says the build is available on TestFlight and names the build number.
  </Step>
</Steps>

Apple processes the build for a few minutes after the upload. Until that finishes, TestFlight may not show it yet.

## Invite testers with a link

After a successful build, Rork offers **Share Beta Link**. It gives you an address like `rork.com/beta/…` that walks a tester through the whole install.

The dialog lets you **Copy invite link**, **Regenerate** it if it leaked, and **Revoke** it when testing is over.

<Note>
  Only the project owner and editors can share a beta link. A viewer does not get the button. See [Share a project and work together](/collaborate/share-a-project).
</Note>

## What your tester does

Send them the link and they see "You've been invited to test", with your app's name, then five short steps:

<Steps>
  <Step title="Install TestFlight">
    Apple's TestFlight app, from the App Store. The page offers **Get TestFlight** for people who do not have it.
  </Step>

  <Step title="Enter their email">
    It has to be the email on their **Apple ID**, otherwise the invite lands nowhere.
  </Step>

  <Step title="Accept the App Store Connect team invite">
    They press **Request Team Invitation**, then accept the email Apple sends. **Resend** is there if it does not arrive.
  </Step>

  <Step title="Join the TestFlight group">
    **Join TestFlight**, then accept in the TestFlight app. **Refresh Status** updates the page.
  </Step>

  <Step title="Open the app">
    The page confirms it: the app is installed, and they open it from the home screen like any other app.
  </Step>
</Steps>

Tell your testers to use their Apple ID email, and warn them there are two invitations to accept, one by email and one in TestFlight. Those two things cause most of the confusion.

## How big a beta this suits

Rork's link adds testers through your **App Store Connect team**. That route is quick and needs no extra Apple review, and Apple caps how many people it allows, so it fits a tester group of friends, colleagues, and early users.

For a large public beta, add external testers in App Store Connect yourself. Apple reviews a build before it goes to an external group, which is a separate wait.

## After the beta

TestFlight is not the App Store. A build on TestFlight is not for sale and not public.

When the app survives your testers, submit it for review. See [Publish Your App to the Apple App Store](/store-guides/publish-app-store), run the [AI App Store Reviewer](/ai-app-store-reviewer) first, and read [Main App Store rejection reasons](/appstore-submission-checklist/whats-next-after-the-apps-finished) so review does not surprise you.

## FAQ

<AccordionGroup>
  <Accordion title="Do I need a Mac or Xcode?">
    No. Rork builds and uploads in the cloud. Xcode is optional, and only for people who want to debug locally. See [How to test & publish your Rork app via Xcode](/how-to-set-up-xcode/how-to-set-up-xcoe).
  </Accordion>

  <Accordion title="Do I need the $99 Apple membership just to use TestFlight?">
    Yes. TestFlight distribution runs through App Store Connect, which needs a paid Apple Developer account.
  </Accordion>

  <Accordion title="Can I test on my own iPhone without TestFlight?">
    Yes, install straight from Rork over USB with the Companion app, or use the Rork Max app. See [Rork Max app for iPhone](/rork-max/rork-max-app).
  </Accordion>

  <Accordion title="My tester says the link does nothing.">
    Check that they used their Apple ID email, and that they accepted both invitations. If the link itself is dead, **Regenerate** it and send the new one.
  </Accordion>

  <Accordion title="The build never appeared in TestFlight.">
    Uploads can fail after they look finished, usually over signing or a missing detail. See [Submission errors](/submitting-to-app-store/apple/submission-errors).
  </Accordion>

  <Accordion title="Does a new build reach testers automatically?">
    Testers already in the group get the next build you upload. They do not have to accept the invitations again.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card icon="upload" href="/store-guides/publish-app-store" title="Publish to the App Store">
    Take the tested build to review.
  </Card>

  <Card icon="shield-check" href="/ai-app-store-reviewer" title="AI App Store Reviewer">
    Catch guideline problems before Apple does.
  </Card>

  <Card icon="triangle-alert" href="/submitting-to-app-store/apple/submission-errors" title="Submission errors">
    When the build fails or never appears.
  </Card>

  <Card icon="apple" href="/store-guides/apple-developer-account" title="Apple Developer account">
    The membership TestFlight needs.
  </Card>
</CardGroup>

<CtaBanner />
