Documentation Index
Fetch the complete documentation index at: https://docs.signalrooms.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Trust and runner setup
Status: Current setup reference. This page picks up after iPhone settings; confirm every box on that page first. Warmr drives the iPhone through an on-device test runner bundle signed with your own Apple Developer account. There are two install paths, pick one:| Path | When to pick | Re-sign cadence |
|---|---|---|
| App Store Connect API (recommended) | You have a paid Apple Developer account. | Annual. |
| Xcode + free Apple ID | You don’t want to pay $99/year. | Every 7 days. |
Path A: App Store Connect API
Use this when you have a paid Apple Developer account and an App Manager (or higher) role on it. Developer-role keys cannot create signing profiles and will be rejected.1. Generate a Team Key in App Store Connect
- Open appstoreconnect.apple.com/access/integrations/api.
- Switch to the Team Keys tab: not Individual Keys. Individual keys cannot create signing profiles.
- Click Generate API Key. Pick role = App Manager (or higher).
- Apple shows the Issuer ID and Key ID, and lets you download the .p8 file. Save it now: Apple only lets you download the
.p8once.
.p8 saved at first download.
2. Enter the key in Warmr
- Open Warmr’s Devices page.
- Expand the App Store Connect API section.
- Fill in Key ID, Issuer ID, and drop the .p8 into the upload area.
- Click Test connection & save.
3. Sign and install
Once the key is saved, the Install and Reinstall buttons on the Devices page activate per device. Click Install. Warmr signs the runner bundle via JWT through the API and installs it. Existing UDIDs registered through any other path keep working; Apple uses one registry behind all signing flows.Is this safe?
Yes, the App Store Connect API is Apple’s official way to authenticate with a developer account. The flow uses short-lived JWT tokens signed locally with your.p8. The key never leaves your Mac, no Apple ID password is stored, and your account’s 2FA is left untouched.
Warmr operates strictly inside the development sandbox of your team:
- Only Development certificates and provisioning profiles are created, the same kind Xcode would generate when you run a project on a connected iPhone.
- Production / App Store / Distribution certificates are not touched. Apps you ship to the App Store, TestFlight builds, and any in-house Distribution profiles are completely independent.
- Permissions on the API key are limited to installing on registered devices. Revoking the key in App Store Connect immediately cuts off Warmr’s access.
Path B: Xcode (free Apple ID)
Use this when you don’t have a paid developer account. The runner’s signature is valid for 7 days with a free Apple ID; you’ll re-install once a week.- On Warmr’s Devices page, click Sign via Xcode Manually → Download Xcode Project.
- Extract the downloaded ZIP.
- Open the
.xcodeprojfile in Xcode. - In Xcode, open Settings → Accounts (
⌘,) and add your Apple ID. - Select the runner target → Signing & Capabilities → choose your Team.
- Repeat for the UITests target.
- Connect the iPhone and select it as the destination in the top bar.
- Product → Build For → Testing (
⌘⇧U).
Trust the developer profile
Regardless of which install path you used, after the first install on a given iPhone:- On the iPhone, open Settings.
- Go to General → VPN & Device Management.
- Find the developer profile (it lists your Apple ID or Team ID).
- Tap Trust.
- Confirm.
Verify the runner is installed
rodmanInstalledVersion and isConnected: true. If rodmanInstalledVersion is missing or stale, re-run Install from Warmr’s Devices page.
Troubleshooting
| Message | What to do |
|---|---|
"This key is Individual" | Key was created on the Individual Keys tab. Recreate it as a Team Key. |
"Regenerate as App Manager →" | Role on the key is too low. Reissue with App Manager or higher. |
"Open Apple Developer Portal →" (cert quota 2/2) | Team has hit the certificate quota. Open the developer portal, find your own orphan certificate (CREATED BY = your name), revoke it, and retry. Do not touch other team members’ certificates. |
"Waiting for the first device's certificate to register with Apple…" | Expected on fleets of 5+ during the first parallel install. Devices 2..N wait for the first device to finish registering. No action needed. |
"Authentication Error. Xcode 7.3 or later is required (resultCode 3019)" | Legacy Apple-ID install path hit Apple’s deprecation. Switch to Path A above. |
| Runner installs but iPhone says “Untrusted Developer” on launch | The trust step at the bottom of this page hasn’t been done. Do it. |
”Runner installed correctly” checklist
- Key generated on the Team Keys tab (Path A) or Xcode build completed without errors (Path B).
- Role on the key is App Manager or higher (Path A).
.p8saved at first download (Path A; it can’t be re-downloaded later).- Warmr’s Test connection & save succeeded.
- Developer profile trusted on each iPhone in Settings → General → VPN & Device Management.
warmrctl --json devices listshows non-nullrodmanInstalledVersionfor each lane.
Related
- iPhone settings, required iOS settings checklist (run this first).
- Device state model.
rodmanInstalledVersionand related fields. - Agent docs, how agents should verify runner readiness before starting threads.