App Installation

Emerge will install your app on various devices (physical, simulator, emulator) depending on the specific product's requirements. Details about installation specifics for iOS & Android are elaborated on below.

QR Code installation

Emerge also provides a QR code for eligible uploads, allowing you to install a specific build of your app directly from Emerge's UI, simply by scanning a QR code. This is especially useful for sharing builds with other members of your team/organization for testing and validating changes.

To install an eligible upload, find the "Install build" action in the "Actions" dropdown of the build page.

From there, a modal will open with a QR code available. Scan the QR code with your mobile device or tap directly if already on mobile to install the app.

iOS

To test your app, Emerge first needs to install it on a device or simulator, and the app needs to be re-signed.

Entitlements

We re-sign the app with a custom provisioning profile and remove certain entitlements. The following entitlements are included, the rest are stripped:

"application-identifier"
"com.apple.developer.team-identifier"
"get-task-allow"
"com.apple.developer.siri"

The app identifier is left unchanged, but the team identifier and app id prefix is replaced with a new team identifier. The com.apple.developer.siri entitlement is preserved, and others including app groups, associated domains, and push notifications, are stripped from the app’s entitlements.

This may change some behavior, so make sure your app doesn’t crash after re-signing, like asserting that a particular app group is available. Additionally, security measures that rely on the app’s signature may break, so these should be disabled before uploading to Emerge.

Bundle Id

The bundle id is modified in the application's Info.plist. This modified bundle id will show up on crash reports and may require changes to app code to expect the different bundle id. Two bundle ids are used, one for the base and one for the head app. If you need specifics on what string is used for the bundle id, contact your Emerge representative.

Android

App installation on Android is relatively straightforward. If an AAB is uploaded, Emerge will split the AAB using bundletool, then install the split APKs on a device or emulator. If a universal APK is uploaded, Emerge will install the APK. Emerge resigns all Android builds using a rotated debug signing key.

QR Code installation details

Emerge currently supports QR code installation on Android for AABs uploaded to Emerge. If your team is looking to install universal APKs, let the Emerge team know and we'll work to accommodate you.