TestFlight without a Mac: upload a build from Windows.
You can use TestFlight without a Mac. Your testers only need the free TestFlight app on their iPhone or iPad. To get a build in, you need a signed .ipa in App Store Connect. A cloud builder makes it and runs the Mac-only steps on its own Macs, and Apple's App Store Connect API takes the upload from any machine. Newly does the build, the signing and the upload from your browser, so a Windows PC, a Linux laptop or a Chromebook is enough, plus Apple's 99 USD a year developer membership.
Below: the four ways to do it without a Mac, side by side with October 2026 prices, the exact steps for the Newly route, how to create an App Store Connect API key for the others, and the tester limits Apple publishes. Every Apple figure was read on Apple's own pages on 27 October 2026.
Check your TestFlight readinessWhich parts of TestFlight need a Mac, and which do not?
Receiving a build needs no Mac and no Windows PC. Apple's TestFlight overview says testers install the free TestFlight app on their devices, then use an invitation email or a public link to accept the invitation and install your app. Everything a tester does happens on the phone.
Sending a build is where the Mac shows up. Apple's page on uploading builds lists Xcode, Swift Playground, altool and Transporter, and describes Transporter as a macOS app. Xcode and altool also run only on macOS. That is the reason the old advice says buy a Mac.
The same Apple page also says you can upload your app binary with the App Store Connect API. Apple's API reference documents build upload endpoints: create a build upload, reserve a build upload file, send the file, then commit it. They have been in the API since version 4.1.0. A script on Windows can call them. Apple's page adds that you can reuse the same JSON Web Tokens you use for the API.
So the work splits in two. A macOS machine compiles and signs the .ipa. Any machine uploads it. A cloud builder gives you the macOS machine by the minute, and the key from your Apple account gives it permission to upload on your behalf. Expo's docs describe it plainly: iOS builds run on macOS runners hosted in Expo's cloud, and EAS Submit works on macOS, Linux and Windows. For the wider picture of building the whole app this way, read build an iOS app without a Mac.
Apple, App Store Connect Help, Upload builds, read 27 October 2026
Apple, App Store Connect API, Build uploads, read 27 October 2026
What are the ways to upload to TestFlight without a Mac?
Four routes work from a Windows PC today. They differ in how much you set up and what you pay per build. Prices are as of October 2026 and come from each vendor's own pages.
| Route | What you run | Cost, October 2026 | App Store Connect API key |
|---|---|---|---|
| Newly | Nothing to install. Describe the app in plain English, then start the iOS build in your browser. | From $25 a month. Plus Apple's 99 USD a year. | No key commands to run. Newly makes the Apple-side setup and the upload. |
| Expo EAS Build and Submit | eas build --platform ios --profile production --auto-submit, or eas submit --platform ios after a build. | Free plan: up to 15 iOS builds, low priority. Starter: $19 a month with $45 of build credit. | Optional. EAS can set one up through eas credentials, or use an app-specific password. |
| fastlane on a cloud macOS runner | A lane that builds, then runs upload_to_testflight (alias pilot) on a macOS runner such as GitHub Actions. | fastlane lists no price. GitHub bills a standard macOS runner at $0.062 per minute. | Yes. A JSON key file passed with api_key_path. |
| Codemagic | A codemagic.yaml workflow with an App Store Connect publishing block and submit_to_testflight: true. | 500 free macOS M2 minutes a month. After that, $0.095 per minute on M2 and $0.114 on M4. | Yes. A key with App Manager permission, saved as an integration. |
Every route needs the Apple Developer Program, which Apple prices at 99 USD per membership year. The builder fees above are on top.
The first three routes are tools you wire together. Expo EAS builds and signs for you, and its Submit step needs an ascAppId, the Apple ID of your app in App Store Connect. fastlane uploads but does not own a build machine, so you rent the macOS runner yourself and keep the lane and the signing setup working. fastlane's GitHub Actions guide has the lane create a temporary keychain on the runner, and warns that without it the build could freeze and never finish. Codemagic runs the builds on its hosted Macs. Its docs ask for an app record in App Store Connect before you automate publishing, and recommend that you upload the first version by hand.
Newly is the shortest path because the Apple-side setup is part of the product. You sign in to Apple once in the Ship to TestFlight card, and Newly creates the app record, registers the bundle ID, creates its own App Store Connect API key, then builds on a cloud Mac, signs and uploads, usually in 10 to 25 minutes and without using credits. It also builds the app: you describe it in plain English, Newly writes a React Native project, and you own 100 percent of the source code.
Expo, Submit to the Apple App Store, read 27 October 2026
Expo, Pricing, read 27 October 2026
fastlane docs, upload_to_testflight, read 27 October 2026
fastlane docs, GitHub Actions, read 27 October 2026
GitHub Docs, Actions runner pricing, read 27 October 2026
Codemagic docs, Publishing to App Store Connect, read 27 October 2026
How do I create an App Store Connect API key?
You need this for fastlane and Codemagic, and optionally for EAS. Newly users can skip it. A key lets a tool act in your account without your Apple ID password, and Apple scopes it by role.
- 1
Ask Apple for API access
The Account Holder opens App Store Connect, goes to Users and Access, then Integrations, clicks Request Access, agrees to the terms and clicks Submit. Apple reviews requests case by case.
- 2
Generate a team key
In Integrations, open Team Keys and click Generate API Key. The Account Holder or an Admin can do it. Enter a name, which is for your reference only, choose the role under Access and click Generate. Team keys apply across all apps.
- 3
Pick the role the tool asks for
Codemagic's docs say the key needs App Manager permission. fastlane's docs say to give the key a role suited to the task and recommend a team key, because individual keys cannot use provisioning endpoints.
- 4
Download the .p8 file and note two IDs
Apple lets you download the private key once. Store it somewhere safe, along with the Key ID and the Issuer ID from the same page. A lost key cannot be recovered, so revoke it and generate a new one.
Individual keys also exist. They live under your username, then Edit Profile, and each user can hold one active key at a time.
Apple, App Store Connect Help, App Store Connect API, read 27 October 2026
How do I get a build into TestFlight from a Windows PC with Newly?
Seven steps. Newly does the middle three. You do the Apple account at the start and the tester work at the end, all in a browser.
- 1
Join the Apple Developer Program
Enrol at Apple for 99 USD per membership year. Our Apple Developer Program enrollment walkthrough covers the individual and organization paths.
- 2
Build your app in Newly
Describe the app in plain English. Newly writes a complete React Native app and runs it on iOS and Android cloud simulators in your browser.
- 3
Connect Apple in the Ship to TestFlight card
Ask the agent to publish to TestFlight. In the card, sign in with your Apple ID and Apple's 6-digit code, pick your team, and pick your app or create a new one. Newly creates the app record, registers the bundle ID and sets up signing.
- 4
Build and upload the .ipa
Press Send to TestFlight. Newly builds on a cloud Mac, signs and uploads to App Store Connect, usually in 10 to 25 minutes. That upload is what puts a build in TestFlight.
- 5
Wait for processing, then answer the compliance question
Apple processes the build and emails you when it is done. Apple states no processing time. If the build shows Missing Compliance, answer the export compliance questions in App Store Connect. The build is then Ready to Submit.
- 6
Add internal testers
In App Store Connect, open your app, then the TestFlight tab, and click the plus next to Internal Testing. Create a group, click Invite Testers, add the users and add the build. Internal testers must be App Store Connect users on your account, with a role such as Developer, App Manager or Marketing. Up to 100 people, and no review.
- 7
Go external and share the public link
Create an internal group first, because Apple requires it. Then click the plus next to External Testing, add the build, write What to Test and click Submit Review. Fill in the Beta App Description and Feedback Email under Test Information. After approval, open the Testers tab, click Create Public Link, choose Open to Anyone or Filter by Criteria, set a tester limit from 1 to 10,000 and share the link.
Once the first build is live, every change is another build and upload. Testers receive updates in the TestFlight app. When they have feedback, it arrives the way we describe in TestFlight feedback. The step Newly takes off you most is the second one: nobody opens Xcode, and the Windows PC never needs to be anything but a browser.
Apple, App Store Connect Help, Add internal testers, read 27 October 2026
Apple, App Store Connect Help, Invite external testers, read 27 October 2026
Apple, App Store Connect Help, Provide test information, read 27 October 2026
Apple, App Store Connect Help, App build statuses, read 27 October 2026
What are the TestFlight limits testers and founders ask about?
| The question | What Apple says |
|---|---|
| Internal testers | Up to 100 App Store Connect users with access to your content. No review step. |
| External testers | Up to 10,000 people per app, by email or public link. |
| Review for external testing | Required for the first build. Later builds may not need a full review. |
| Build life | You can test a build for up to 90 days. It then becomes unavailable. |
| Devices per tester | Up to 30 devices, on Apple's TestFlight page. |
| Processing time | No figure from Apple. It emails you when processing is complete. |
| TestFlight on Android | Not a thing. TestFlight is an Apple-device app. |
Two of these deserve a second look. The 90 days belong to the build, not to your account, so a quiet beta that ships no new build goes dark on day 90. Our guide to TestFlight build expiry has the schedule. And the first external build waits on a review. Apple does not publish a turnaround for it, which TestFlight external testing review covers in full.
Processing deserves a plain note. Apple gives no duration. Expo's docs say a build submitted through EAS shows up in TestFlight after processing, usually 10 to 15 minutes. Treat that as Expo's experience, and keep the email from Apple as the signal that your build is ready.
Android has no TestFlight. If half your testers carry Android phones, the closest equivalent is described in TestFlight on Android. For the general explainer on groups, invitations and tester roles, see iOS TestFlight, and for the upload step in Apple's own tools, see upload a build to App Store Connect.
Apple, App Store Connect Help, TestFlight overview, read 27 October 2026
Are you ready to put a build in TestFlight?
Try it
TestFlight readiness checklist
Choose who is testing, then tick what you have. The list shows what is left and who does it. Newly covers 3 of the 6 items for this kind of testing.
6 left. Next up: Apple Developer Program membership
This one is yours, in Apple's tools. 3 of the items left are yours.
Questions people ask about TestFlight without a Mac
Yes. Testers install the free TestFlight app on their own iPhone or iPad and need nothing else. The person shipping the app needs a signed .ipa in App Store Connect, and a cloud macOS builder compiles and signs it, so you never touch Xcode. Newly, Expo EAS and Codemagic all run the Mac-only steps in their own cloud. You still pay for an Apple Developer Program membership, which Apple prices at 99 USD per membership year.
Get your first build into TestFlight from the PC you already own
Describe your app, watch it run in the cloud simulator, and let Newly build, sign and upload it. Plans start at $25 a month. You bring the Apple Developer membership and your testers.
Start building