Upload an iOS or Android build from CI, choose who gets it and let testers install with one tap. No store review, no shared download folders, no outdated builds in chat threads.
iOS & Android · Included in every plan · Hosted in Switzerland
Illustrative build · not a real install link
Get each build to the right people while the change is still fresh, then collect their feedback in the same place.
Send the binary from any pipeline. Appelium reads the app identifier, version, build number, minimum OS version and SDK from the build itself, so there is nothing to fill in by hand.
Organise testers into groups such as Internal or Beta Testers. Keep groups private for invited members, or open a public link when anyone should be able to install.
Notify testers by email with the version, release notes and an install link. On a desktop, a QR code opens the install page on their phone.
Testers found something? Let them send it with in-app bug reporting, including screenshots, logs and device details.
Every upload becomes a numbered build with the details you would otherwise dig out of the binary.
| Build | Availability | Downloads |
|---|---|---|
| 4.3.0 (418)#418 · Today, 09:41 | Expires in 11 months | 37 |
| 4.3.0 (417)#417 · Yesterday, 17:12 | Expires in 11 months | 52 |
| 4.2.0 (391)#391 · Oct 6, 14:03 | Expired 3 days ago | 64 |
Spot expired builds before testers do, and distribute a build signed with a renewed profile.
Illustrative data
Works with any CI provider, from GitHub Actions to a self-hosted runner. Upload, then distribute to the groups you choose.
curl -X POST \
-H "X-Appelium-Token: $APPELIUM_TOKEN" \
-H "X-Appelium-Application-Alias: demo-ios" \
--data-binary @DemoShop.ipa \
https://api.appelium.com/v2/buildscurl -X POST \
-H "X-Appelium-Token: $APPELIUM_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"distributionGroupNames": ["Beta Testers"],
"notifyTesters": true
}' \
https://api.appelium.com/v1/builds/$BUILD_ID/distributeAttach release notes, filter builds and manage groups with the Builds and Distribution Groups APIs. Before you distribute, catch regressions with recorded UI tests. Once a release reaches the stores, follow its staged rollout with release health.
Upload an .ipa for iOS or an .apk for Android. Appelium reads the app identifier, version, build number, minimum OS version and SDK from the binary. iOS builds must be signed for installation outside the App Store, with a Development, Ad Hoc or In House profile that allows your testers’ devices.
Members of the distribution groups you distribute the build to. Groups are private by default: invited testers receive the Tester role, which can install distributed builds but has no Dashboard access. Enable public distribution for a group when anyone with its link should be able to install.
iOS builds stop installing when their provisioning profile expires, so Appelium shows each build’s expiration date and marks expired builds in the list. Android builds do not expire.
App distribution is included in every plan. Upload builds from any CI/CD pipeline with a single REST endpoint, attach release notes, then distribute to one or more groups and optionally notify testers by email. You can do the same manually from the Dashboard.
Upload from CI, distribute to the right group and hear back sooner.
Strongly typed bidirectional communication channel between UIApplication and XCUIApplication with powerful APIs and super fast performance.
Robust and scaleable pattern for structuring UI tests. Highly reusable screen verification code with human readable test case code. All flows and interactions statically typed 🙌.
Learn about SnapshotQuery - our latest addition to AppeliumTests which radically improves the performance of your XCUITests while making them more stable and reliable at the same time.
Be the fist one to know about all the exciting engineering posts and product announcements.