Install AltStore Classic completely on device.
Normally, installing AltStore requires AltServer running on a Mac or PC. AltLoad does that job on the iPhone itself. It pairs the iPhone with itself, signs AltStore with your Apple ID, and installs it. When the 7-day signature is about to run out, you refresh it in AltLoad with one tap.
AltLoad simulates AltServer using some advanced tools introduced in the iOS 27 update.
Warning
Early preview. AltLoad is still in testing. Expect bugs, and please open an issue if something doesn't work.
AltLoad is an independent project. It is not affiliated with AltStore, Riley Testut, SideStore or Apple.
- An iPhone or iPad on iOS 27 or later.
- Developer Mode turned on (Settings › Privacy & Security › Developer Mode).
- LocalDevVPN, a free app from the App Store. It lets the iPhone connect to itself (see How it works).
- An Apple ID. A free one is fine: apps then last 7 days, and you can have up to 3 sideloaded apps at once.
- Wi-Fi, for the one-time pairing step.
AltLoad is a sideloaded app, so you install the .ipa the same way as any other sideloaded app.
- Download
AltLoad.ipa:- the latest stable build is on the Releases page,
- the newest build of
mainis always at Nightly build, which needs no GitHub account, or - the newest development build is on the Actions page. Open the latest green run and download AltLoad.ipa from Artifacts. You need to be signed in to GitHub for this.
- Sign and install it with whatever you already use to sideload: AltStore, SideStore, Sideloadly, Xcode or another signing tool.
- If iOS says the developer isn't trusted, go to Settings › General › VPN & Device Management, tap your Apple ID and choose Trust.
- Pair this iPhone (once). Open Tools › Pair and tap Pair This iPhone or iPad. Then go to Settings › Privacy & Security › Developer Mode, scroll down, tap Pair with AltLoad, and enter the code AltLoad shows you.
- Set up LocalDevVPN (once). Install it from the App Store and open it once so it can add its VPN configuration.
- Install a store. Open the Install tab, pick AltStore (the default) or Catalyst, tap Install, sign in with your Apple ID and enter the two-factor code. If LocalDevVPN is off, AltLoad asks you to turn it on, then continues by itself.
- Trust it. The first time you open AltStore, trust your Apple ID in Settings › General › VPN & Device Management.
- Use AltStore normally. AltLoad runs its own AltServer on the iPhone, so AltStore can install and refresh apps without a computer. Keep AltLoad open while it works, or turn on background mode in Tools › AltServer. LocalDevVPN has to be on.
- Refresh every week. With a free Apple ID, apps stop opening after 7 days. Refresh in AltStore, or in AltLoad (Install tab, or the pill in Tools › Library). AltLoad reminds you the day before.
How AltStore finds AltLoad. AltStore first asks, through a system notification, whether an AltServer is connected over USB. AltLoad answers and connects to AltStore on the iPhone itself, so AltStore picks it before anything else. AltLoad also advertises itself on Wi-Fi with the server ID it wrote into AltStore. The installs, provisioning profiles and app removal AltStore asks for go through LocalDevVPN, like AltLoad's own installs.
| Tab | What it does |
|---|---|
| Install | Pick AltStore (default) or Catalyst, then install, refresh or update it, always the newest version from its source. Install an IPA signs any .ipa you pick with your own free Apple ID certificate and installs it. Installs run full screen with a step-by-step progress bar (LocalDevVPN, device link, Apple sign-in, signing, installing). Catalyst gets this iPhone's pairing file placed inside it automatically. |
| Tools | AltServer (status, background mode, activity log) · Pair (pairing files for this iPhone, another iPhone or iPad, or an Apple TV) · Pairing File to Apps (copies the pairing file into Catalyst, SideStore, StikDebug or any development-signed app) · Library (every app AltLoad installed, with a days-left pill you tap to refresh, plus saved pairing files) · Certificates (your Apple ID's certificates, App IDs and devices). |
| Settings | Apple ID, default store and store sources, anisette server, LocalDevVPN and background options. |
You don't need a Mac for this: GitHub can build it for you.
- Fork this repository (the Fork button at the top right).
- In your fork, open the Actions tab and enable workflows if GitHub asks.
- Run Build unsigned IPA, either by clicking Run workflow or by pushing a commit.
- When it finishes (about 10–20 minutes the first time), download AltLoad.ipa from the run's Artifacts.
To publish a release, push a tag starting with v (for example v1.0.0). The workflow attaches AltLoad.ipa to a GitHub Release automatically.
Actions minutes are free for public repositories. Private repositories use your monthly allowance, and macOS minutes count 10×.
You need Xcode 27, Homebrew and Rust.
brew install xcodegen
rustup target add aarch64-apple-ios aarch64-apple-ios-sim
git clone https://github.com/mirazbakis/AltLoad.git
cd AltLoad
./build-rust.sh # compiles the Rust part into AltLoadFFI.xcframework
xcodegen generate # creates AltLoad.xcodeproj from project.ymlThen do one of the following:
- Run it from Xcode:
open AltLoad.xcodeproj, choose your Team under Signing & Capabilities, set a unique bundle identifier (for examplecom.yourname.AltLoad), plug in your iPhone and press Run. - Make an unsigned IPA:
xcodebuild -project AltLoad.xcodeproj -scheme AltLoad -configuration Release \ -sdk iphoneos -destination 'generic/platform=iOS' -derivedDataPath build/dd \ CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO build mkdir -p build/Payload cp -R build/dd/Build/Products/Release-iphoneos/AltLoad.app build/Payload/ (cd build && zip -qr ../AltLoad.ipa Payload)
Xcode doesn't need to know about new source files: anything in App/ is picked up automatically. Run xcodegen generate again after adding files.
The short version is below. docs/HOW-IT-WORKS.md covers every step in detail.
- Pairing. On iOS 27, a device can pair wirelessly with a "host" it finds on the network. AltLoad acts as that host, so the iPhone pairs with AltLoad the same way it would pair with a Mac. The result is a pairing file.
- Reaching itself. An app can't normally talk to its own iPhone's system services the way a computer can. LocalDevVPN routes one address (
10.7.0.1) back into the phone, so AltLoad's connection looks like it's coming from another device. AltLoad then opens the same secure tunnel that Xcode uses. - Apple ID. AltLoad signs in to Apple's developer services with your Apple ID. It registers your iPhone, gets a development certificate, and creates the App IDs and provisioning profiles AltStore needs.
- Signing. It adds the details AltServer would normally write into AltStore, then signs AltStore and its extensions.
- Installing. It copies the signed app onto the iPhone through the tunnel and asks iOS to install it.
- Your Apple ID password goes only to Apple. If you choose Remember password, it's stored in the iPhone's Keychain, is only readable while the phone is unlocked, and never syncs to iCloud.
- Anisette server: Apple requires extra device-identity headers ("anisette") before it accepts a sign-in. AltLoad gets them from a public anisette server, SideStore's
ani.sidestore.ioby default. You can choose another server or your own in Settings. The anisette server never sees your password. - Pairing files give access to your device. Only share them with apps you trust.
- Using a secondary Apple ID is a common choice for sideloading. It works fine with AltLoad.
Does this need a computer at all? You don't need one to install or refresh AltStore. You do need some way to sideload AltLoad itself the first time.
Why iOS 27? The on-device pairing AltLoad depends on (Pair with… under Developer Mode) was added in iOS 27.
Sign-in fails with an anisette error. The anisette server may be down. Pick another one in Settings › Anisette server and try again.
It says the certificate limit is reached. Free Apple IDs can only have a few development certificates. AltLoad asks which one to revoke. Apps signed with the revoked certificate, for example by another computer, stop opening until they're signed again.
It can't connect to the iPhone. Check that LocalDevVPN is connected, Developer Mode is on, and you've paired this iPhone in the Pair tab. If it still fails, pair again.
AltLoad is built on the work of:
- idevice by Jackson Coxson: device pairing, the tunnel, and file transfer and installation.
- isideload by nab138: Apple ID sign-in, developer services and code signing.
- StikPair by StephenDev0: the on-device pairing flow AltLoad is based on.
- LocalDevVPN by jkcoxson and Stossy11: the loopback VPN.
- AltStore by Riley Testut and Shane Gill. AltLoad downloads AltStore from its official source at install time and does not redistribute it.
AltLoad is released under the AltLoad License. You may use, modify and share it for free, for non-commercial purposes. Selling it, bundling it into a paid product or service, or distributing it for money requires written permission. Forks must say they're modified and can't use the AltLoad name or logo as their own.
Parts of AltLoad come from StikPair (non-commercial MIT) and idevice (MIT). Those parts stay under their original licenses, which are listed in THIRD_PARTY_NOTICES.md.
Using AltLoad means you agree to the Terms of Service.
Found a security problem? See SECURITY.md. Please don't report it in a public issue.