I'm building a light-based(sunrise) alarm iOS app using SwiftUI , the idea is to wake users not with sound, but with a full-screen bright light UI (mimicking sunrise or a light alarm clock).
I'd like to replicate behavior similar to the native Clock app:
My goal:
- When the scheduled time is reached, forcefully display a full-screen "light" screen, even if the device is:
- locked
- running another app
- or the app is backgrounded
The problem: So far, I can:
- Show a full-screen
AlarmView
only if the app is opening
But I cannot:
- Automatically wake the screen when app is closed
My confusion:
I've read that Critical Alerts allow bypassing Do Not Disturb and Silent Mode but that's only for sound right?
Can Critical Alerts also help with waking the screen or displaying visuals like full-screen UI automatically?
If not, is there any way to simulate this kind of alarm:
- light-based screen effect ( sunrise alarm clock)
- triggered automatically at a specific time
- without needing the user to manually tap the notification?
Do I need to consider:
- PushKit + VoIP?
- CallKit (but it's meant for calls)?
- Background tasks + silent push?
- Or is it simply impossible without special entitlements?
Thanks in advance for any insights. This seems like a simple use case (light-based alarm), but I’m surprised how limited the options is.