> For the complete documentation index, see [llms.txt](https://docs.drizz.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.drizz.dev/your-account/managing-apps.md).

# Managing Apps

A test plan installs a **registered app** — a build uploaded to Drizz and held against its package name or bundle ID plus a version.

|                  |                                                                    |
| ---------------- | ------------------------------------------------------------------ |
| **Platforms**    | Android (`.apk`) · iOS (`.ipa`)                                    |
| **Upload limit** | 500 MB per binary                                                  |
| **iOS**          | Test plans require a real-device build, not a simulator build      |
| **Also used by** | Memory — blocker rules and app context attach to a registered app  |
| **Watch out**    | A build cannot be downloaded back out of Drizz. Keep your own copy |

## Prerequisites

* Drizz organization account
* A signed release build under 500 MB — `.apk` (Android) or `.ipa` for a real device (iOS)
* Web app access

## What a registered app provides

| Capability        | Detail                                                            |
| ----------------- | ----------------------------------------------------------------- |
| Test plan install | A plan selects a registered version and installs it on the device |
| Memory attachment | App context and blocker rules attach to the registered app        |
| API trigger       | CI triggers a run against a named version                         |
| Scope             | Org-scoped. One upload serves every test plan in the organization |

## Register a build

1. Open the registered apps list in the web app.
2. Select upload.
3. Choose the `.apk` or `.ipa` file. Drizz reads the package name, bundle ID and version from the binary.
4. Confirm the new version appears in the list before binding it to a test plan.

To upload from a pipeline instead, see [Upload a build](/automate-and-integrate/upload-a-build.md) — same 500 MB cap, same formats.

## Limits

| Limit                     | Value                                                  |
| ------------------------- | ------------------------------------------------------ |
| Maximum binary size       | 500 MB                                                 |
| Accepted formats          | `.apk` (Android), `.ipa` (iOS)                         |
| Oversized upload          | Rejected, not truncated                                |
| Duplicate version         | Conflicts with the existing version — bump the version |
| Download a build back out | Not supported                                          |

To bring a binary under 500 MB, strip debug symbols, drop unused resources, or split by ABI and upload the split under test.

## Build types

{% tabs %}
{% tab title="Android" %}

* Upload a `.apk`.
* The package name and version code are read from the binary.
  {% endtab %}

{% tab title="iOS" %}

* Upload an `.ipa` built and signed for a **real device**.
* A simulator build uploads successfully and then fails at install time, when the test plan runs.
  {% endtab %}
  {% endtabs %}

## Builds cannot be retrieved

Drizz does not serve the binary back. Keep every uploaded build in your own artifact store or CI cache.

## Common mistakes

| What you did                               | What happens                                                   |
| ------------------------------------------ | -------------------------------------------------------------- |
| Uploaded a simulator build for an iOS plan | Upload blocked by Drizz                                        |
| Deleted your local copy after uploading    | The binary is gone. Drizz does not return it                   |
| Uploaded a 700 MB debug build              | Rejected at the 500 MB cap                                     |
| Re-uploaded the same version number        | Conflicts with the existing version — bump the version         |
| Assumed a build is kept indefinitely       | Retention is not confirmed. A plan can fail on a missing build |

## Next

* [Test plans](/running-tests/test-plans.md) — selecting an app for a plan
* [Upload a build](/automate-and-integrate/upload-a-build.md) — registering from CI
* [Organizations & access](/your-account/organizations-and-access.md) — why apps are shared

***

*Last updated: 6 August 2026*
