# How to install apps on iPhone without App Store: Signum, iMazing and alternatives

> AI Release · @ai_release1 · https://ai-release.org/guides/kak-ustanovit-prilozhenie-na-iphone-bez-app-store-signu_en.html

## Introduction
![Illustration: Introduction](https://ai-release.org/guides/img/kak-ustanovit-prilozhenie-na-iphone-bez-app-store-signu-en-1.jpg)

Sideloading — installing an app on an iPhone from an `.ipa` file instead of downloading it from the App Store — solves a specific problem: the app you need is region-locked, was pulled from the store, is an internal company build, or exists only as a beta. This guide walks you through three practical routes: **iMazing** (a desktop app for Windows and macOS that manages iOS devices), **Signum** (a self-hosted signing service that signs an `.ipa` with your Apple ID certificate and hands you an over-the-air install link), and the classic alternatives **AltStore** and **Sideloadly**, which sign apps on the fly from your computer. It applies to a modern iPhone on a current iOS version, connected by cable or Wi-Fi to a Mac or Windows PC. Only install apps you have the legal right to install — sideloading your own build, a beta you were invited to, or an app you own is fine; pirating paid apps is not.

If what you actually want is an assistant running locally on the phone rather than a random IPA, read [AI Agent on Your Phone: How to Install and Use an On-Device Assistant](https://ai-release.org/guides/ii-agent-pryamo-na-smartfone-kak-ustanovit-i-polzovatsy.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide) first — the install mechanics are the same.

## Требования и подготовка
![Illustration: Требования и подготовка](https://ai-release.org/guides/img/kak-ustanovit-prilozhenie-na-iphone-bez-app-store-signu-en-2.jpg)

- An iPhone with a current iOS version, plus its passcode.
- A Mac or Windows PC with a working USB port (or Wi-Fi sync already configured).
- A cable: Lightning or USB-C, depending on the iPhone model. Cheap charge-only cables often carry no data — use the one that came with the phone.
- An Apple ID with two-factor authentication enabled. A free Apple ID works; a paid Apple Developer account is only needed for longer-lived certificates.
- iMazing installed on the desktop (the free trial is enough to test a single install).
- The `.ipa` file itself, saved locally, for example `~/Downloads/MyApp.ipa`.
- For Signum: a machine or VPS you control, a domain name with a valid TLS certificate (HTTPS is mandatory for on-device over-the-air installs), and enough disk space for the signed builds.
- For AltStore or Sideloadly: the same Apple ID plus the tool installed on the desktop.

Pre-flight checklist before you touch anything:

- [ ] The `.ipa` opens as a ZIP archive (rename a copy to `.zip` and check it contains a `Payload/` folder).
- [ ] The iPhone is unlocked and the passcode is known.
- [ ] Two-factor authentication codes can be received on a second device.
- [ ] You have at least 2 GB of free space on both the iPhone and the PC.
- [ ] You know which Apple ID you will sign with — switching accounts later forces a full re-install.

## Пошаговая инструкция
![Illustration: Пошаговая инструкция](https://ai-release.org/guides/img/kak-ustanovit-prilozhenie-na-iphone-bez-app-store-signu-en-3.jpg)

1. **Verify the IPA file.** An `.ipa` is just a ZIP archive, so you can inspect it before wasting a signing slot.
   **Example:** `unzip -l ~/Downloads/MyApp.ipa | head` should print something like `Payload/MyApp.app/MyApp` and `Payload/MyApp.app/Info.plist`.
   Why it works: if you see `Payload/`, the file is a real app bundle; if you see only a folder of loose files, the file was repacked incorrectly and no installer will accept it.

2. **Connect the iPhone and trust the computer.** Plug the cable in, unlock the phone.
   **Example:** the iPhone screen shows *"Trust This Computer?"* — tap **Trust** and enter the passcode. In iMazing the device then appears in the left sidebar with its name and iOS version.
   Why it works: iOS blocks all data access over USB until you explicitly pair the device with that computer, so the installer can't write anything before this step.

3. **Choose your route.** Pick one and stay with it — mixing tools on the same Apple ID creates confusing duplicate certificates.
   - **iMazing:** best when you already have a valid `.ipa` and just want a GUI drag-and-drop.
   - **Sideloadly / AltStore:** best when you want the tool to handle Apple ID signing for you.
   - **Signum:** best when you want a permanent install link you can open from Safari, without keeping the PC connected.
   **Example:** a tester who needs the build on three phones uses Signum once and sends the same link to everyone, instead of plugging each phone into a laptop.

4. **Install with iMazing.** Open iMazing with the device connected, go to the **Apps** section of the device, and drag `MyApp.ipa` from Finder/Explorer onto the app list.
   **Example:** a progress bar labeled *"Installing MyApp…"* appears, and within a minute the app icon shows up on the iPhone Home Screen.
   Why it works: iMazing copies the bundle into the device's app container and asks iOS to register it — the same operation Xcode performs silently.

5. **Trust the developer certificate.** On the iPhone open **Settings → General → VPN & Device Management**, tap the profile named after your Apple ID or your team, then tap **Trust**.
   **Example:** the app icon stops being greyed out and the label under the profile changes from *"Not Trusted"* to *"Trusted"*.
   Why it works: iOS refuses to launch any binary signed by a certificate the user hasn't manually approved.

6. **Launch the app once while online.** Open it immediately after trusting.
   **Example:** the app opens normally instead of showing *"Unable to Verify App"*.
   Why it works: the first launch triggers an online check of the signing certificate with Apple's servers; after that the check is cached.

7. **For Signum, generate the install link.** Upload the `.ipa`, sign it with your Apple ID, and Signum returns a manifest link you open in Safari on the phone.
   **Example:** the link looks like this (placeholders shown):

   ```
   itms-services://?action=download-manifest&url=https://apps.example.com/MyApp/manifest.plist
   ```

   Tap **Install** in the Safari dialog, then go back to step 5 and trust the new certificate.
   Why it works: `itms-services://` is the same over-the-air mechanism enterprises use for internal distribution — Safari hands the manifest to iOS, which downloads and installs the bundle.

8. **Set a re-sign reminder.** Free Apple ID certificates are short-lived — commonly around seven days — and there is a cap on how many apps you can sign at once. Check the exact current limits in your Apple ID settings.
   **Example:** put a calendar reminder for day 5, then repeat steps 4–6 (or just open AltStore and tap **Refresh All**) before the app stops launching.
   Why it works: the certificate, not the app, expires; re-signing with the same Apple ID keeps your data intact.

## Возможные проблемы и решения
![Illustration: Возможные проблемы и решения](https://ai-release.org/guides/img/kak-ustanovit-prilozhenie-na-iphone-bez-app-store-signu-en-4.jpg)

**1. The app opens and immediately closes, or shows "Untrusted Developer".**
Symptom: the icon is visible but tapping it produces the untrusted-developer alert.
Solution: open **Settings → General → VPN & Device Management**, tap the profile for your Apple ID, tap **Trust**, then tap **Trust** again in the confirmation dialog. Return to the Home Screen and launch the app once more. If the profile is missing entirely, the install never completed — redo step 4.

**2. iMazing shows "No device connected" even though the cable is plugged in.**
Symptom: the sidebar stays empty, or the phone charges but never asks *"Trust This Computer?"*.
Solution: unlock the phone and re-plug the cable; if the prompt never appears, reset the pairing with **Settings → General → Transfer or Reset iPhone → Reset → Reset Location & Privacy**, then reconnect. On Windows, open `services.msc` and restart the **Apple Mobile Device Service**, which is the driver iMazing talks to. Swap the cable before anything else — charge-only cables cause this most often.

**3. The install fails with "Unable to Install" or the icon stays grey and frozen.**
Symptom: the progress bar stops near the end and the icon is greyed out with a cloud or half-download look.
Solution: delete the broken icon by long-pressing it, then remove one older sideloaded app — you have hit the simultaneous-app limit of a free Apple ID. Re-run the install while the phone stays unlocked and connected to Wi-Fi. If it still fails, sign out and back into the same Apple ID in the signing tool, since a stale certificate is the usual cause.

## FAQ

**Is sideloading an iPhone app legal?**
Installing an app you own, your own build, or a beta you were invited to is generally fine. Distributing or installing pirated paid apps is not, and it also violates Apple's terms — which is why sideloaded certificates get revoked.

**How long does a sideloaded app keep working?**
With a free Apple ID, expect roughly a week before the certificate expires and the app refuses to launch. A paid Apple Developer account gives a much longer validity period. Either way, re-signing with the same Apple ID preserves your app data.

**Do I need a Mac, or does Windows work?**
Windows works for iMazing and Sideloadly. You only need a Mac if you plan to build the `.ipa` yourself from source in Xcode, since Xcode does not run on Windows.

**Can I install without keeping the phone plugged in?**
Yes — that is exactly what Signum and AltStore give you. Signum hosts the signed manifest and you install over the air from Safari; AltStore refreshes apps over Wi-Fi as long as it is running. When you are ready to ship an app the official way instead, see [How to Automate App Publishing to App Store and Google Play with AI Agents](https://ai-release.org/guides/kak-avtomatizirovat-publikatsiyu-prilozheniy-v-app-stor.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide).
