Install Mobile Builds
Oore gives authenticated team members a device-first install page for Android APK and signed iOS ad-hoc IPA artifacts. QA Viewers can install builds without pipeline, signing, or share-link management access.
What you need
- A completed build with an APK or signed ad-hoc IPA artifact
- An External Access public URL configured for the Oore instance
- For iOS, an HTTPS delivery URL
- For iOS, the phone's UDID included in the provisioning profile used by the build
- For iOS, Safari on the iPhone
- For iOS, Developer Mode enabled before opening the installed app
Open the install page
- Open Builds in Oore.
- Select a completed build.
- Find the APK or install-ready IPA under Artifacts.
- Select Install.
- Copy the install-page link if you need to move from a desktop browser to the phone.
The install session is scoped to one artifact and expires after one hour or when the artifact expires, whichever happens first.
Instances behind an interactive auth proxy
Apple fetches the manifest and IPA outside the signed-in browser page. If the main Oore URL is protected by Warpgate or another proxy that redirects every unauthenticated request to a login page, route only token-authenticated GET and HEAD requests under /install/ around interactive auth and into oore-web.
Keep every other Oore path behind the normal identity proxy. The delivery URLs are bearer credentials, expire within one hour, and remain scoped to one artifact. A request with an invalid or expired token is rejected by Oore.
Install on Android
- Open the install page on the Android phone.
- Select Install APK.
- If Android asks, allow the current browser or file manager to install unknown apps.
- Open the downloaded APK and confirm installation.
Android controls unknown-app permission per source. You can disable the permission again after installation.
Install on iPhone
- Open the install page in Safari on the iPhone.
- Select Install on iPhone.
- Confirm the installation prompt.
- Wait for the app icon to finish installing.
- Enable Developer Mode if iOS asks, then open the app.
Oore detects common non-Safari iPhone browsers and disables the install action with an Open this page in Safari notice. Downloading an IPA directly does not install it.
Apple ad-hoc distribution only installs on devices included in the app's provisioning profile, and Apple requires Developer Mode to run an IPA-based app. Confirm that the exact device UDID was registered before the build. See Register iOS Test Devices and Apple's registered-device distribution guide.
Why an older IPA may show “Not install-ready”
Oore's OTA manifest requires the app's bundle identifier, display name, version, and build number. Newly produced signed IPAs attach this metadata automatically. An IPA built by an older runner remains downloadable, but it must be rebuilt once with the current runner before Oore can create the install manifest.
The IPA must also use Oore's ad-hoc or release-testing export path and have a provisioning profile matching the app bundle identifier.
Troubleshooting
| Symptom | What to check |
|---|---|
| Install button says to use Safari | Copy the page URL and open it in Safari on the iPhone |
| iOS install prompt never appears | Confirm the public URL uses HTTPS and /install/ does not redirect to interactive login |
| iOS says the app cannot be installed | Confirm the phone UDID is in the profile used for this exact build and the profile is not expired |
| iOS app installs but will not open | Enable Developer Mode, then retry |
| Android blocks the APK | Allow unknown-app installation for the browser or file manager that opened the APK |
| Artifact is expired | Run a new build; expired artifacts cannot mint install sessions |
Access rules
- Owner, Admin, Developer, and QA Viewer roles can install and download artifacts they can read.
- QA Viewers cannot edit pipelines, inspect signing configuration/device inventory, trigger builds, or create reusable external share links.
- Developers and instance administrators can create and revoke external share links.
Installation links are bearer URLs after creation. Do not forward them outside the intended test group.