Get your iPhone app into the App Store (with Capacitor)
From the Apple developer account to review: prepare your Mac, create the app record, build and upload the finished Capacitor project in Xcode, test with TestFlight. You sign and submit with your own account.
Create an Apple developer account
With the providerTime: ≈ 20 minutes, then Apple’s reviewCost: 99 USD a year
- Have an Apple Account with two-factor authentication ready – on iPhone under Settings → your name.
- As an individual: open the Apple Developer app on iPhone or Mac, choose “Enroll now” and scan your ID.
- As a company: first request a free D-U-N-S number (up to a week); you also need a website and an email address on your own domain.
- Pay the 99 USD annual fee. Apple reviews your details, usually within a few days.
Go there: Apple Developer ProgramGuide: enroll in the appD-U-N-S number
Prepare your Mac
On your computerTime: ≈ 30–60 minutes, mostly downloadCost: free
- WindowsiPhone apps are built on a Mac – the store build does not work on Windows. Your web app still runs on every iPhone, and a borrowed Mac is enough for the store build.
- MacGet Xcode free from the Mac App Store – a large download – and open it once so it installs its tools.
- MacIn Xcode, sign in with your Apple Account under Settings → Accounts.
- MacInstall Node.js (LTS). In Terminal, “node -v” then shows a version number of 22 or higher.
Commands to copynode -vCreate the app record
With the provider- Your bundle ID is the bundle ID from your download (capacitor.config.json). Register it in “Certificates, Identifiers & Profiles” under “Identifiers”.
- In App Store Connect choose “New App”, select this bundle ID and enter name, language and any SKU.
- Copy and images come from your launch package.
Go there: Open IdentifiersOpen App Store ConnectGuide: app record
Build and upload the iOS app
On your computerTime: ≈ 20 minutes
- Download the app code and unzip it with a double-click.
- In Finder, right-click the folder → “New Terminal at Folder”, then paste the two commands below. Xcode opens your finished app.
- At the top choose Any iOS Device as destination; under “Signing & Capabilities” pick your team.
- “Product → Archive”, then “Distribute App” → App Store Connect. The build shows up in TestFlight after a few minutes.
Commands to copynpm install npm run iosGo there: Guide: upload buildsGuide: Capacitor
Test and submit
With the provider- Open your app in App Store Connect and choose TestFlight. Select the uploaded build and complete the requested test and encryption information.
- Create a tester group and assign the build. The first build for external testers needs Apple’s beta review.
- Testers install TestFlight on their iPhone and open your invitation. Ask them to check sign-in, navigation, forms and offline behaviour on a real device.
- Review feedback and crashes in TestFlight, fix issues and test a new build. Then submit the app separately for App Store review. A successful test does not publish the app.
Go there: TestFlightGuide: submit for review
More guides
- How to get an OpenAI, Anthropic or Gemini API key
- How to buy a domain for your app or website
- Publish your web app: from export to your own address
- Publish your Android app on Google Play (with Capacitor)