Доброе утро, мой любитель просыпаться во время.
Подобные приложения опираются на тот диапазон который вы установили. Ну, или же от браслетов-трекеров, которые считают сердцебиение и определяют по нему когда человек уснул, но лучше с ними использовать оригинальные приложения от них.
В последней версии iOS стандартное приложение будильники расширилось и появилась функция "Режим Сна". В нем мы ставим время в которое засыпаем и то в которое мы хотим проснуться. В момент когда пора засыпать телефон отправляет уведомление и предупреждает вас.
Так же он отталкивается от времени когда вы перестали пользоваться телефоном и опять же от браслетов. Ну, и по заложенному алгоритму определяет лучшее время для пробуждения.
Освятил.