iOS troubleshooting
"I'm not receiving pushes"
Walk through in order — stop at the first no.
1. Can you open the app and see alerts?
If no: your login doesn't work yet; see Getting started.
2. Did you allow notifications when iOS asked?
iOS Settings → Surface Security → Notifications.
- Allow Notifications should be on.
- Sounds, Badges, Banners should be on.
- Critical Alerts on (if Apple approved the entitlement).
If you denied earlier, toggle it on here and re-launch the app.
3. Is your device registered?
Open the app → Settings tab → Signed in as …. If the account is correct, the app will have registered your device on last launch.
To force re-registration, sign out and back in.
4. Does an admin have you opted into mobile access?
Ask your admin to check (via the mobile-access API — dashboard controls are not yet available; see the access-control guide):
- Your per-user Mobile access flag is on
(
PUT /api/v1/admin/admin-users/<uuid>/mobile-access). - Your role is enabled in the tenant-wide role gate
(
PUT /api/v1/admin/settings/mobile-access-by-role).
If either is off, pushes are dropped at the backend (even if APNs succeeded before access was revoked).
5. Does a rule match the alert severity/type?
Web → Settings → Push rules. The first matching rule in priority order wins. If no rule matches your alert's severity+type, no push fires. Add a catch-all low-priority rule if needed.
6. Quiet hours?
If your push priority is default or silent, the user's quiet- hours window in the app's Settings tab suppresses the push. Loud rules bypass quiet hours.
7. Escalation not firing?
- The rule must have Escalate after (minutes) set.
- The on-call schedule the rule targets must have an Escalation target configured.
- The notify consumer must be running (backend infra concern — ask your SRE).
"Pushes arrive late"
- APNs sandbox (DEBUG builds) is slower than production — ~seconds to
a minute. TestFlight + production use
api.push.apple.comwhich is typically <10 s. - The notify consumer runs async from alert ingest — typical latency end-to-end is 2–10 seconds.
"Face ID prompt loops"
Each time the app backgrounds (including from a notification tap), the app re-locks. This is intentional and not a bug — see Security and privacy.
If Face ID is failing, iOS falls back to passcode after a few tries.
"I see 'Screen recording active — content hidden'"
Something on the device is recording or mirroring the screen (AirPlay, QuickTime recording, a screen-share call). Stop the recording and the banner disappears.
"How do I switch tenants?"
Sign out (Settings tab → Sign out). Back on the onboarding screen, enter the new server URL and tenant slug. Keychain is wiped on sign- out so the next account is a clean slate.
Still stuck?
Ask your security team to check the audit log for
mobile.access.enabled, mobile.device.registered, and
mobile.device.revoked events for your user.