Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Remote Installer

Install a signed iOS build on a real iPhone over the internet

Perfect for AI Agents and vibe coding remotely.

No TestFlight. No hosted storage. No waiting for processing.

Mac → Link / QR code → iPhone Install

remote-installer share ./MyAwesome.app

Remote Installer validates the build, opens a temporary HTTPS link, and prints a QR code. Scan it with the iPhone camera, or open the page in Safari to install.

Important: Works with development and ad hoc builds. The target iPhone must already be included in the provisioning profile.

Quick start

1. Install

# Install cloudflared for quick tunnels
# It does NOT require Cloudflare account.
brew install cloudflared
# Install remote-installer
# with homebrew
brew install icodesign/tap/remote-installer
# or npm
npm install --global @icodesign/remote-installer

For a one-off run without installing a command globally, use the npm package:

npx --yes @icodesign/remote-installer share /path/to/MyApp.ipa

The Homebrew and npm distributions support macOS arm64 (Apple silicon) and macOS x86_64 (Intel). The command rejects other operating systems because it uses macOS iOS-signing tools.

2. Share a build

Share an IPA:

remote-installer share /path/to/MyApp.ipa

Or share a signed .app built for a real device:

remote-installer share [PATH_TO_APP_BUILD_OR_IPA]

Remote Installer packages the .app as an IPA without re-signing it.

3. Install on the iPhone

  1. Keep the command running.
  2. Open the link in Safari or scan the QR code with the iPhone camera.
  3. Tap Install.

What you get

  • A temporary HTTPS install page and QR code
  • Support for .ipa and signed device .app builds
  • Validation before the build is exposed
  • Live download progress in the terminal
  • Automatic cleanup when sharing ends
  • Optional expiry and download limits
  • Cloudflare Quick Tunnel by default, or Tailscale Funnel for sensitive builds

Remote Installer distributes an existing build. It does not sign, re-sign, register devices, or make Simulator and App Store builds installable.

For AI agents

This repository includes a skill for coding agents:

npx skills add icodesign/remote-installer

Example agent request:

Create a new build with latest changes for my iPhone, and give me the install URL with remote-installer.

Common recipes

One person, one hour

remote-installer share MyApp.ipa \
  --max-downloads 1 \
  --expire-after 1h

The command exits when either limit is reached, after allowing an active download to finish.

Useful options

Option Purpose
--expire-after 30m Stop sharing after a duration
--timeout 300 Stop sharing after a number of seconds
--max-downloads 3 Stop after a number of downloads
--no-qr Do not print the terminal QR code

Use either --expire-after or --timeout, not both. Run remote-installer share --help for every option.

Important security notes

  • The link is the credential. Anyone who receives it can install the build, and it can be forwarded.
  • Use --expire-after and --max-downloads when sharing with someone else.
  • The build remains on your Mac rather than being uploaded for storage.
  • With Cloudflare, TLS terminates at Cloudflare while the build is transferred.
  • Stopping the command closes the tunnel and deletes Remote Installer's temporary copy.

Troubleshooting

Problem What to check
“Unable to Install” The iPhone UDID is in the embedded profile, the profile is valid, and the app was rebuilt after registering the device.
Install button does nothing Open the install page in Safari. Some third-party iOS browsers do not hand the install link to the system.
cloudflared CLI was not found Run brew install cloudflared, or pass --cloudflared-bin /path/to/cloudflared.
app is not an iphoneos device build Use Build/Products/Debug-iphoneos/, not Debug-iphonesimulator/.
Provisioning profile expired Refresh signing in Xcode and rebuild.

Most installation failures are signing or provisioning problems. Remote Installer can validate and distribute a build, but it cannot make an incorrectly signed build installable.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages