# Install your own app on iPhone without the App Store

> Free with a Mac and Xcode, but the app expires after 7 days. Paid account, TestFlight, Expo build or Expo Go: the right method for your case.

Original page: [Install your own app on iPhone without the App Store](https://devoria.fr/en/blog/install-your-own-app-on-iphone-without-app-store)
Author: [Mehdi Azizi](https://devoria.fr/en/mehdi-azizi)
Published: 2026-11-04
Content last revised: 2026-11-04


Yes, you can install your own app on your iPhone without going through the App Store, and even for free. You need a Mac, Xcode and a regular Apple account. **But with the free account, the install expires after 7 days**: you have to rebuild the app and reinstall it. To keep it longer, or to install it without a Mac, you need the paid Apple Developer Program membership, at 99 dollars a year.

I test my own apps, Solys, TradaZen and Nolera, on my iPhone well before they launch. This guide compares the five official paths, based on Apple and Expo pages I reread on November 3, 2026. If your question is about the overall cost of an app, read [creating an iPhone app for free](https://devoria.fr/en/blog/make-iphone-app-free-real-cost) instead.

## The five ways to install your app, compared

| Method                        | Cost       | Mac required | How long the install lasts |
| ----------------------------- | ---------- | ------------ | -------------------------- |
| Xcode, free account           | Free       | Yes          | 7 days                     |
| Xcode, paid account           | $99 / year | Yes          | Up to 12 months            |
| Expo build installed via link | $99 / year | No           | Up to 12 months            |
| TestFlight                    | $99 / year | No           | 90 days per build          |
| Expo Go                       | Free       | No           | Tied to your computer      |

The limits, row by row:

- **Free account**: 3 devices and 10 app IDs, valid for 7 days, and 3 apps per device.
- **Paid account, Xcode or Expo link**: up to 100 registered iPhones per membership year.
- **TestFlight**: up to 100 internal testers and 10,000 external ones, with an Apple review for external testers.
- **Expo Go**: your project runs inside the Expo Go app, with no custom native modules.

The 12-month durations match the validity of provisioning profiles, according to [Expo's documentation](https://docs.expo.dev/app-signing/app-credentials/). The other numbers come from the Apple pages cited below.

## For free, with a Mac and Xcode

This is the only official way to install a real native app on your iPhone without paying for the membership. Xcode is [free on the Mac App Store](https://apps.apple.com/fr/app/xcode/id497799835?mt=12). The current version requires macOS 26.6 and a Mac with an Apple M1 chip or newer.

According to [Xcode's documentation](https://developer.apple.com/documentation/xcode/running-your-app-on-simulated-or-physical-devices), here are the steps:

1. **Sign in with your Apple account** in Xcode, under Settings, then Apple Accounts. Without a membership, Xcode shows it as a Personal Team.
2. **Open the Signing & Capabilities tab** of your project. Click Set Up Signing, pick your team and enter a unique bundle identifier.
3. **Pair your iPhone with your Mac** using Device Hub, by cable or wirelessly.
4. **Pick your iPhone** as the destination, then click Run. Xcode registers the device and creates the provisioning profile.

With Expo, the command `npx expo run:ios --device` does the same thing: it builds your project locally with Xcode and installs it on the connected iPhone. [Expo spells it out](https://docs.expo.dev/develop/development-builds/introduction/): this local build is the only way to install a development build on an iPhone without a paid account.

### The limits of the free account

[Apple's help page on developer accounts](https://developer.apple.com/help/account/basics/about-your-developer-account) sets three limits for a Personal Team:

- **10 app IDs** at most, which expire after 7 days;
- **3 devices** at most, which also expire after 7 days;
- **3 apps per device** at most.

**Provisioning profiles expire 7 days after they're created.** After that, Apple asks you to rebuild the app and reinstall it from Xcode. According to the table on the same page, the free account doesn't give you access to App Store Connect, TestFlight, or the certificates and profiles section. For a personal app you tweak every week, that's workable. For an app you want to use every day without thinking about it, it gets annoying fast.

## Turn on Developer Mode on the iPhone

An app built by Xcode, or installed from an `.ipa` file, won't open while Developer Mode is off. [Apple designed it](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device) to prevent people from unknowingly installing risky software. It changes nothing for installs from the App Store or TestFlight.

To turn it on:

1. Open Settings, then Privacy & Security.
2. Under Security, turn on Developer Mode.
3. Tap Restart in the alert.
4. After the restart, confirm with Turn On, then your passcode.

According to Apple, the option only shows up in Settings once pairing with a Mac has started, or if the iPhone has already been paired. [According to Expo](https://docs.expo.dev/guides/ios-developer-mode/), Developer Mode is also required for Expo builds installed via link and for local development builds. Without a Mac, Expo recommends installing the build first, then tapping its icon: an alert then offers to turn on the mode.

## With the paid account: keep the app installed

Membership in the [Apple Developer Program](https://developer.apple.com/programs/enroll/) costs 99 dollars per membership year, with the price shown in local currency when you enroll. Choosing between individual and organization, and what the membership covers, are covered in [Apple developer account: price and enrollment](https://devoria.fr/en/blog/apple-developer-account-cost-free-or-99).

With it, your install no longer lasts just 7 days. Expo says provisioning profiles expire after 12 months. You can register up to 100 iPhones per membership year, according to [Apple's help page on devices](https://developer.apple.com/help/account/devices/devices-overview). **Disabling a device doesn't free up a slot**: the count only resets to 100 at the start of the next membership year.

You can keep installing from Xcode, or use one of the next two methods, which don't need a Mac.

## An Expo build installed via a link

Expo calls this method [internal distribution](https://docs.expo.dev/build/internal-distribution/). EAS servers build your app, then give you an install link. It requires a paid Apple Developer account.

1. **Register your iPhone** with `eas device:create`. The command produces a link or a QR code to open on the phone.
2. **Add a profile** to `eas.json` with `"distribution": "internal"`, as in [Expo's tutorial](https://docs.expo.dev/tutorial/eas/internal-distribution-builds/).
3. **Run the iOS build** with that profile, then open the install link on the iPhone.

**An iPhone added later needs a new build**, or a re-signing of the existing build. Expo also points out that disabled devices still count toward the 100 limit.

This is the ideal method for your own app that uses native modules. My apps are still on Expo SDK 57, while the App Store's Expo Go follows SDK 58: so I test them with my own builds, not in Expo Go.

## TestFlight: the most comfortable route

TestFlight installs your app like a normal app, with no Developer Mode and no device registration. According to [App Store Connect help](https://developer.apple.com/help/app-store-connect/test-a-beta-version/testflight-overview), **each build stays available for 90 days**. You can invite up to 100 internal testers, App Store Connect users who have access to your app.

This is my everyday method. The internal group for my apps is set to automatic distribution: every build I upload shows up on its own in the TestFlight app on my iPhone. [Expo confirms it](https://docs.expo.dev/eas/json/): builds are added to groups where automatic distribution is turned on.

For testers outside your team, [Apple requires a review](https://developer.apple.com/testflight/) of the first build. All the details are in [TestFlight: testing your iPhone app](https://devoria.fr/en/blog/testflight-test-iphone-app-before-submitting).

## Expo Go: try it without paying anything

Expo Go is a free app that loads your project from your computer. It's the fastest way to see your first screens on your iPhone, even from a PC. Since September 2026, [Expo requires you to be signed in](https://expo.dev/changelog/expo-go-57-login) to your Expo account, both in the terminal and in the app on the iPhone.

Two limits to know about:

- **The version.** [Expo Go only supports the latest SDK version](https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/). [Its App Store version](https://apps.apple.com/fr/app/expo-go/id982107779), released on October 22, 2026, follows SDK 58. That isn't guaranteed: in spring 2026, it stayed on SDK 54 while waiting for Apple's approval, according to [Expo's May 4, 2026 changelog](https://expo.dev/changelog/expo-go-and-app-store-may-2026). So since SDK 56, `create-expo-app` offers to create a project compatible with the App Store version. If your project follows another SDK, `eas go` builds your own copy of Expo Go, distributed through TestFlight, but that requires the paid membership.
- **Native modules.** [Expo says it plainly](https://docs.expo.dev/get-started/set-up-your-environment/): Expo Go is a playground for learning, limited and not useful for a project headed to production. As soon as you add a native module that Expo Go doesn't include, you need a development build.

## From a Windows PC

Xcode only exists on Mac. **From Windows, no official method installs a native app on your iPhone for free.** [Expo's FAQ](https://docs.expo.dev/faq/) sums it up: you build in the cloud, and you test on a real iPhone with Expo Go or a development build. That leaves you two paths:

- **Free**: Expo Go, with a project compatible with its App Store version.
- **With the membership**: EAS servers build your app, then you install it via link or through TestFlight. [Expo notes](https://docs.expo.dev/deploy/submit-to-app-stores/) that its submission service also works from Windows and Linux for iOS.

The full no-Mac route is in [publishing an iOS app without a Mac](https://devoria.fr/en/blog/publish-ios-app-without-mac-expo-eas).

## Which method to choose

- **The app is just for you, you have a Mac, and reinstalling once a week doesn't bother you**: Xcode and the free account.
- **You want to use it every day without thinking about it**: the paid membership, then TestFlight.
- **Your app uses native modules and you don't have a Mac**: the membership, then an Expo build installed via link.
- **You're just starting out and only want to see your screens**: Expo Go.
- **You want to share it with a few friends or family**: TestFlight, with internal testers or an external group.

## Build the app you'll install

Installing is just the end of the road. If you're building your app with AI, the [iOS & Android Kit](https://devoria.fr/en/kits/ios) starts from the starter code of my own apps, already set up for Expo, and walks you through four steps to the App Store, at your own pace. The mistakes AI makes on a mobile project are covered in [building an app with AI](https://devoria.fr/en/blog/build-ios-app-with-ai-pitfalls-checks).

If you're still unsure what to do next, [take your free diagnostic](https://devoria.fr/en/diagnostic): it tells you what's really holding you back and sends you my checklist for avoiding Apple rejections. The full method with Expo is on the [React Native and Expo mobile app](https://devoria.fr/en/expertise/react-native-expo-mobile-app) page.

## Frequently asked questions

### Can you install your own app on iPhone without the App Store for free?

Yes, with a Mac, Xcode and a free Apple account. Xcode builds the app and installs it on your connected iPhone. The install expires after 7 days, and you're limited to 3 devices and 3 apps per device.

### Why does my app installed with Xcode stop working after 7 days?

With a free account, Apple makes provisioning profiles expire 7 days after they're created. Just rebuild the app and reinstall it from Xcode. With the paid membership, profiles last up to 12 months.

### How do you turn on Developer Mode on iPhone?

Open Settings, then Privacy & Security, and turn on Developer Mode under Security. Tap Restart, then confirm with Turn On and your passcode. The option appears once the iPhone has been paired with a Mac. Without a Mac, install the build first, then tap its icon: an alert offers to turn on the mode.

### Can you install your own iPhone app from Windows?

Not for free with a native app, because Xcode only exists on Mac. For free, you can run your project in Expo Go. With the paid membership, EAS builds the app in the cloud, then you install it via link or through TestFlight.

### How many iPhones can you register with a developer account?

Up to 100 iPhones per membership year with the paid account. Disabling a device doesn't free up a slot. With the free account, the limit is 3 devices, which expire after 7 days.

### How long does an app stay installed with TestFlight?

Each build stays available for 90 days. Before it expires, upload a new build, then install it from the TestFlight app.


## Your project

[iOS & Android Kit](https://devoria.fr/en/kits/ios): Build your iPhone and Android app with Claude Code: the starter code from my apps, the path all the way to the stores, and every kit. $109.

[Diagnostic: what's between you and your iPhone app](https://devoria.fr/en/diagnostic): 7 questions, 60 seconds: find out what's really stopping you from publishing your iPhone app, get your 4-step path and the kit that fits you.
