> ## Documentation Index
> Fetch the complete documentation index at: https://docs.warmr.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshoot Common Warmr Setup and Session Errors

> Fixes for the most common Warmr setup and run-time problems: runner install errors, signing issues, stalled sessions, and device disconnects.

Most setup problems come down to a handful of causes. Find your symptom below and apply the fix. If you're still stuck after trying these, reach out at [hi@warmr.so](mailto:hi@warmr.so).

## Install and signing errors

<AccordionGroup>
  <Accordion title="&#x22;Could not launch WarmrRunner&#x22; or &#x22;Untrusted Developer&#x22;">
    The developer certificate hasn't been trusted on the iPhone yet. On the device, go to **Settings → General → VPN & Device Management**, tap your developer profile, and tap **Trust**. Then click **Reinstall** in Warmr and start the run again.
  </Accordion>

  <Accordion title="Xcode says &#x22;the test runner exited with code 45&#x22;, or the runner icon opens then bounces back to the home screen">
    **This is expected — the runner installed fine.** Two things to know first:

    * The runner has **no interface of its own.** Tapping its home-screen icon just opens a blank screen (or closes right away). That's normal — Warmr launches and drives the runner for you, so you never tap it.
    * **"Exited with code 45" after ⌘U is not a failure.** The runner is a long-running automation host, so the ⌘U test never "finishes" — you can ignore that message. The icon being on your phone means the install succeeded.

    The one remaining step is to **trust the developer certificate** so iOS will actually run it:

    1. **Settings → Privacy & Security → Developer Mode → On** (the phone restarts, then tap **Turn On**).
    2. **Settings → General → VPN & Device Management → Developer App** → tap your Apple ID → **Trust** → confirm.
    3. Tap the **WarmrRunner** icon **once** (iOS won't let Warmr launch a developer app you've never opened by hand), then swipe it closed.
    4. Back in Warmr → **Devices**, the phone goes green. Start a short warmup to confirm.

    Until you trust the certificate (and Developer Mode is on), iOS kills the runner the instant it launches — which is exactly what "code 45" and "opens then closes" both mean.

    **Why it can come back every week (free Apple IDs).** A free Apple ID's signing expires after **7 days**. When it lapses, the runner stops launching again — Warmr's **Devices** tab will say the helper isn't ready. The fix is the same: click **Reinstall** in Warmr, then re-do the **Trust** step above. A **paid Apple Developer account** (\$99/yr) signs for a full year, so the runner keeps working without the weekly reinstall — that's the single biggest reason to upgrade once you're using Warmr regularly.
  </Accordion>

  <Accordion title="The runner installed, but warmups can't connect / nothing happens">
    You almost certainly built with the **▶ Run button (`⌘R`)** instead of **Product → Test (`⌘U`)**. Run installs the app but **not** the automation runner. Open the project in Xcode, select the **WebDriverAgentRunner** scheme, and run **Product → Test (`⌘U`)** again. See [Install the runner](/setup/install-runner).
  </Accordion>

  <Accordion title="Code-signature error on install / signing-team mismatch">
    Two common causes:

    1. **Team not set on both targets.** In Xcode, the **Team** must be set on **WarmrRunner** *and* **WarmrRunnerUITests**. Setting one doesn't set the other. Set both, then reinstall.
    2. **A stale certificate for another team.** Open **Keychain Access → My Certificates**, delete any **Apple Development** certificates for teams you no longer use, then click **Reinstall** in Warmr.
  </Accordion>

  <Accordion title="&#x22;Failed to register bundle identifier&#x22;">
    With a current runner project this shouldn't happen: when you pick your **Team** in Signing & Capabilities, the runner's bundle identifier becomes `com.<your-team-id>.warmrrunner` automatically — unique to your team, so there's nothing to collide with. **Don't edit the Bundle Identifier by hand** — a custom value stops Warmr from finding the runner you install. If you still hit this, you're on an old downloaded project: re-download via **Devices → Download Xcode Project**, then pick your Team again on **both** targets.
  </Accordion>

  <Accordion title="&#x22;Maximum App ID limit reached&#x22;">
    Free Apple IDs are capped at 10 unique App IDs every 7 days. Wait it out, use a different Apple ID, or move to a paid Apple Developer account (which also removes the weekly re-signing).
  </Accordion>

  <Accordion title="&#x22;This device has reached the maximum number of installed apps&#x22;">
    A free Apple ID can install at most 3 developer-signed apps on one device. Remove one and try again, or switch to a paid account.
  </Accordion>

  <Accordion title="&#x22;Test connection&#x22; fails, or &#x22;This key is Individual&#x22;">
    The key was created on the **Individual Keys** tab. Re-create it on the **Team Keys** tab at **App Store Connect → Users and Access → Integrations**. Individual keys can't create signing profiles. Also double-check the **Issuer ID** and **Key ID** for typos.
  </Accordion>

  <Accordion title="&#x22;Regenerate as App Manager&#x22; / the key role is too low">
    The API key's role must be **App Manager or higher**: the **Developer** role is blocked from creating signing profiles. Re-issue the key with the **App Manager** (or Admin) role.
  </Accordion>

  <Accordion title="Certificate quota reached (2 of 2)">
    Your team hit Apple's development certificate limit. Open the [Apple Developer portal](https://developer.apple.com/account), find **your own** orphan certificate (where **Created By** is your name), revoke it, and retry. Don't touch other team members' certificates.
  </Accordion>

  <Accordion title="Warmr is waiting for the first device to register its certificate">
    Expected when installing onto 5 or more devices at once. The first device registers its certificate with Apple, and the rest wait for it to finish. No action needed; it clears on its own.
  </Accordion>

  <Accordion title="Xcode or Warmr doesn't see the iPhone">
    Work through these in order: unlock the phone, re-confirm **Trust This Computer**, make sure you're using a **data** cable (not charge-only), try a different USB port, then restart Xcode. As a last resort, restart the Mac.
  </Accordion>

  <Accordion title="The build is slow or seems stuck">
    A typical first build is 30–60 seconds; on a slow Mac it can stretch to a few minutes. If it's clearly hung, quit Xcode, delete `~/Library/Developer/Xcode/DerivedData`, and build again.
  </Accordion>
</AccordionGroup>

## Problems during warmups and posts

<AccordionGroup>
  <Accordion title="A session sits idle, then stalls: the device shows as standby">
    **StandBy is on.** Once StandBy activates on a charging, horizontal, idle iPhone, iOS blocks app launches. Turn it off at **Settings → StandBy → Off**, or keep the device upright while charging. See [Prepare each iPhone](/setup/iphone-settings).
  </Accordion>

  <Accordion title="An upload stalls on a near-black screen">
    **Appearance is set to Dark or Automatic.** Some app screens render in near-black on Dark mode, and Warmr can't find the on-screen targets. Set **Settings → Display & Brightness → Appearance → Light** and restart the session.
  </Accordion>

  <Accordion title="An iPhone disconnects mid-run">
    Almost always a cable issue. Use an **original Apple or MFi-certified** cable. Generic cables drop under sustained data load. For 4 or more devices, use a **powered** USB hub. A single lane dropping doesn't require restarting the whole app: replug the cable, re-confirm Trust if prompted, and resume.
  </Accordion>

  <Accordion title="Warmr says the runner is &#x22;outdated&#x22; or asks you to reinstall">
    The on-device runner is behind the Mac app. Open **Warmr → Devices** and click **Reinstall** for that iPhone. Runner updates normally ship inside the Mac app automatically; a manual reinstall covers the rare case where it didn't apply.
  </Accordion>

  <Accordion title="Automation won't start at all">
    Confirm the iPhone is unlocked and trusted, the runner is installed and trusted, and the device shows green in the **Devices** panel. If a device vanished briefly and came back, give it a moment to reconnect before starting a run.
  </Accordion>
</AccordionGroup>

<Note>
  When an app changes its layout and a post or warmup action fails, that's not something you fix locally. Warmr ships a patch within 24–48 hours and your Mac app pulls it automatically on its next check-in.
</Note>
