A small macOS menu-bar app that installs and keeps iOS apps signed on your devices using a free Apple ID — a lean, self-contained alternative to AltStore/SideStore that signs on the Mac.
⏱ Read the TL;DR first — who can sideload what, and how (end users and developers, free vs paid, USB vs QR). Two minutes, saves confusion.
New to sideloading? Read the full step-by-step guide — what to do on your iPhone/iPad, what to download, and the real benefits & limits.
Contributing, or an AI picking up this project? Start with docs/AI-BOOTSTRAP.md for a fast orientation, then docs/CURRENT-STATE.md — the living state of the wireless install/QR/progress/device-registration work, including build gotchas, the ad-hoc signing recipe, and what to pick up next. See docs/wireless/ for the original network research.
⬇︎ iSideload 0.2 alpha (notarized .dmg) — macOS 14 (Sonoma) or newer, Apple Silicon.
Open the .dmg and drag iSideload to Applications. It's signed with a
Developer ID and notarized by Apple, so it opens normally — no right-click /
"Open Anyway" dance. iSideload runs in the menu bar (no Dock icon); click the
crate icon to open the panel. This is an early alpha — expect rough edges.
A slide overview of iSideload — current state, how USB install works, the
multi-Apple-ID and $99 paid-account benefits, the menu-bar UI, and the
work-in-progress Wi-Fi updating — is in docs/:
- iSideload.pdf — view in any browser
- iSideload.pptx — editable PowerPoint
- Sign in with one or more Apple IDs (free or paid). Login, 2-factor (including SMS for accounts with no trusted device), and the Apple developer provisioning are all handled for you.
- Pick which team to sign with. If an Apple ID belongs to more than one developer team (e.g. a personal free team and a paid company team), iSideload shows a per-account Team menu so you choose — a free team gives 7-day installs, a paid team gives 1-year. It never touches other developers' certificates on a paid team.
- Install an app from an AltStore-format source URL, a local
.jsoncatalog, or a single.ipa/.appfile. - Apps are signed with a SHA-256 CodeDirectory via zsign (the format iOS
16–26 accept) using Apple's
codesign-equivalent path, then installed over the lockdown/usbmuxprotocol. - Keeps apps alive with no separate background program: iSideload re-signs and reinstalls before the 7-day free-provisioning expiry — on a timer, the moment you plug a device in, and (near expiry) by re-checking every 5 minutes and pushing as soon as the device is reachable over USB or Wi-Fi. It launches at login by default so this happens unattended.
- Manage everything from the menu bar: multiple accounts (each free ID gives
3 app slots, shown as a live
slots N/3), grouped by account → app → device with collapsible sections and a panel that auto-sizes to its contents. Each device row has a circular-arrow Refresh (re-sign + reinstall now) and a – that uninstalls the app and frees its slot.
Free Apple IDs (create one at https://icloud.com) can install 3 apps; a $99/year Apple Developer subscription removes that limit and extends signing to one year.
swift build --product InstallerApp # the menu-bar app
swift build --product Provision # the CLI (install / refresh)
./bundle-app.sh builds and bundles the menu-bar app into iSideload.app. The
device tools (a small libimobiledevice
helper in Helpers/idevice) are bundled in the app, so it's
self-contained — no Python or external tools required at runtime.
Built on AltSign from the AltStore / SideStore projects
(© Riley Testut and contributors), which are licensed AGPL-3.0. Because this
is a derivative work, iSideload is likewise licensed under the GNU Affero
General Public License v3.0 — see LICENSE.
The signer is zsign by zhlynn, included under the MIT License
(see Dependencies/zsign).
App screenshot:
