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 build/Acme.ipa --channel staging
Acme 1.4.2 (2891) · 48.2 MB · ad-hoc
✓ 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.
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.ipaShare one link
Password, email allowlist, or a per-tester invite that expires. Scan the QR straight off your dashboard.
buildchute.com/b/a8f3kThey 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.
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.
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.
Warns you before the cert expires
“Your ad-hoc profile expires in 12 days.” You find out on a Tuesday, not during a release.
Install audit trail
Who installed which build, when, and from where. Settles “are you on the latest?” permanently.
Stable /latest links
Point QA at one URL per channel. It always resolves to the newest build you shipped to that channel.
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?”
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.