Skip to main content
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.

Install and signing errors

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.
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.
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.
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.
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.
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).
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.
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.
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.
Your team hit Apple’s development certificate limit. Open the Apple Developer portal, find your own orphan certificate (where Created By is your name), revoke it, and retry. Don’t touch other team members’ certificates.
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.
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.
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.

Problems during warmups and posts

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.
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.
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.
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.
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.
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.