Drop your build. It lands on their phone.

Push an .ipa or .apk from CI, share one link, and your testers tap install. No App Store submission, no review queue.

$npx buildchute upload app.ipa
acme — zsh

$ npx buildchute upload build/Acme.ipa --channel staging

Acme 1.4.2 (2891) · 48.2 MB · ad-hoc

resum

uploaded · parsed icon, version, 12 devices

buildchute.com/b/a8f3k

notified 12 testers · link expires in 7 days

$

Drops in wherever you already build

One command in your pipeline, or a drag-and-drop when you're in a hurry. Nothing about your signing setup has to change.

Tap any pipeline to see how it connects.

Three steps, and none of them involve Apple

From a finished binary to a phone in someone else's hand.

1

Push from CI

One command in your pipeline. Uploads are resumable, so a flaky runner doesn't cost you the whole 1.4 GB.

npx buildchute upload app.ipa
2

Share one link

Password, email allowlist, or a per-tester invite that expires. Scan the QR straight off your dashboard.

buildchute.com/b/a8f3k
3

They tap install

The binary goes straight from the CDN to the device. Testers never make an account — not once.

Whatever you built it with

Buildchute takes the binary, not your toolchain. If it compiles to an .ipa or an .apk, it lands the same way.

Swift
Kotlin
React Native
Flutter
Expo
Unity

The parts other tools make you find out the hard way

We read the provisioning profile on upload, which turns release-day surprises into something you're told up front.

01iOS

Knows if it will actually install

We read the provisioning profile, so we can tell a tester their device isn't registered before they tap — instead of letting iOS fail with nothing to explain it.

02iOS

Warns you before the cert expires

“Your ad-hoc profile expires in 12 days.” You find out on a Tuesday, not during a release.

03

Install audit trail

Who installed which build, when, and from where. Settles “are you on the latest?” permanently.

04

Stable /latest links

Point QA at one URL per channel. It always resolves to the newest build you shipped to that channel.

05

Slack links that unfurl

Paste a build link and it expands with the app icon, version, size, and release notes. No more “which zip was it?”

06

Builds expire on their own

Set retention per workspace and old binaries purge themselves. Your storage bill stops growing quietly.

FAQ

Straight answers.

For internal and client testing, yes — that's the whole point, since you skip the review wait. For public betas and anything heading to the App Store, TestFlight is still the path. Most teams use both.

Never. They open a link and tap install. Access is controlled by the link itself — password, allowlist, or a per-tester invite that expires.

Ad-hoc builds only install on devices registered in the provisioning profile. Buildchute reads the profile and warns the tester before they tap, rather than letting iOS fail silently. We don't replace code signing — you keep doing that in Xcode or Fastlane.

Android App Bundles aren't installable — they're a publishing format for Play. Upload an APK. Automatic AAB conversion is on the roadmap.

In private object storage, delivered over a CDN with short-lived signed links. No build ever gets a public URL, and links stop working when they expire.

Ready to drop a build?

Upload, share, install, expire. Buildchute handles all four so you can get back to the app.

Start freeRead the docs
Pushfrom CI
Storeprivate
Installone tap