Меню
Скачать приложение
В этой статье
0 % прочитано

Право звонить под «Не беспокоить» — не только у часов iPhone

Айфон лежит экраном вниз на прикроватной тумбочке, рядом — откинутое смятое одеяло в свете позднего утра. Подпись на изображении: дело не в приложении

Дело не в приложении — дело в том, кому принадлежит будильник.

Один и тот же вопрос в поиске — и два противоположных ответа на одной странице результатов. Одна статья пишет: «Не беспокоить» и беззвучный режим блокируют будильник, удали сторонние приложения и пользуйся только «Часами». Соседняя статья, в той же выдаче, пишет обратное: будильники, которые ты поставил, всё равно сработают. Ни та ни другая не объясняет, почему они расходятся.

Кто из них прав?

Правы обе — просто про разное. Будильник на iPhone действительно не отменяется ни беззвучным режимом, ни «Не беспокоить», ни Фокусом — они придуманы, чтобы держать тебя в покое, а не чтобы срывать то, ради чего будильник вообще ставился. Именно поэтому вторая статья права. А первая путает две вещи: то, что этими режимами блокируется, — обычные уведомления, — и то, что не блокируется никогда, — сам будильник, если он вообще поставлен как будильник, а не как push от приложения, которое просто похоже на будильник.

Кое-где встречается и третий, более осторожный ответ: несколько лет назад режимы действительно могли заглушить будильник стороннего приложения, и один источник прямо пишет об этом — в прошедшем времени, тут же добавляя, что с правильными настройками это уже не так. Он ближе к правде, чем оба соседних ответа по отдельности: дело не в том, что было раньше и что стало теперь, а в конкретном приложении. Раньше зависело от него, и сейчас тоже зависит от него — просто не все статьи успели за этим угнаться.

Значит, у приложения из App Store такое право тоже есть?

Смотря как оно ставит будильник. У Wake Boom — есть: он не изобретает будильник внутри себя, а передаёт время и настройки в AlarmKit — фреймворк, которым для собственного будильника пользуется сама Apple. После этого шага для системы нет разницы между будильником Wake Boom и будильником «Часов»: показывает и звучит его сама iOS, а не наше приложение поверх неё.

Вопрос, который на самом деле стоит задавать себе про любое приложение, не только про наше, — не «удалить его или нет», а «через что оно ставит свой будильник»: через тот же механизм, что и «Часы», или через обычное уведомление, которое отменяется чем угодно, вплоть до закрытия самого приложения.

Что для этого нужно от тебя?

Одно разрешение, отдельное от разрешения на уведомления. Первый раз, когда Wake Boom пробует поставить будильник через AlarmKit, iOS спрашивает об этом отдельно; пока ответа нет, приложение честно предупреждает: «Будильники ещё не разрешены — дай разрешение в Настройках.» Дать его — секундное дело, и это единственный шаг, который вообще требуется, чтобы будильник получил статус системного.

А если что-то пойдёт не так при самой постановке?

AlarmKit — молодой механизм и иногда может тихо не поставить будильник, даже получив команду. Поэтому Wake Boom не считает дело сделанным сразу после «Сохранить»: приложение перечитывает список будильников уже из самой системы и проверяет, что нужный будильник там действительно появился. Это проверка чужого шага, который мы не контролируем, а не сомнение в собственном коде.

Два отказа, которые реально можно встретить, оба говорят прямо, что случилось и что делать: «Слишком много будильников — удали один и попробуй снова.» и «Система отклонила этот будильник.»

А беззвучный режим — переключатель сбоку — звук не съест?

Тут дело не в разрешении, а в том, как устроен звук уже во время самого звонка. Во время миссии звук у Wake Boom играет в категории, которая единственная звучит поверх этого переключателя. Это не преимущество перед Apple — «Часы» умеют то же самое и всегда умели. Разница есть только с частью других скачанных приложений: их звук устроен как у обычного плеера и потому послушно замолкает вместе с этим переключателем.

И один выбор команда сделала прямо против собственного удобства — его стоит рассказать как есть. Звук во время миссии специально сделан «смешиваемым»: он никогда не пытается заглушить чужой звук, который уже играет. Причина — в комментарии прямо в коде: если в этот момент уже звонит системный будильник, а попытка его перекрыть вдруг не сработает, тишина получится хуже, чем сама ошибка, которую пытались обойти. Там, где можно было рискнуть ради более яркого эффекта, выбрали не рисковать будильником, ради которого всё это вообще существует.

Как проверить своё нынешнее приложение за тридцать секунд?

Не открывая Wake Boom. Поставь в приложении, которым уже пользуешься, будильник на минуту вперёд. Включи физический переключатель «без звука» и «Не беспокоить» — и просто подожди эту минуту, не трогая телефон. Пробился звук — приложение зарегистрировало настоящий будильник, и искать ему замену незачем. Наступила тишина — оно ставит обычное уведомление, а не будильник, и когда-нибудь замолчит именно тогда, когда это важнее всего. Разница видна за одну минуту, без документации и без удаления чего бы то ни было заранее.

Поставь один будильник и проверь

Установка бесплатна, и будильников можно поставить сколько угодно — без ограничения по числу, с повтором и своим звуком на каждый. Математическая миссия на среднем уровне сложности бесплатна навсегда, «Классика» и «Случайный» звук — тоже, и режим «Неумолимый» — для тех, кому этого мало. Открой Wake Boom, поставь будильник на завтра, а если хочется убедиться прямо сейчас — пройди тест из прошлого раздела уже на нём: результат должен быть обратным тому, что ты только что видел на своём нынешнем приложении.

На Android та же история решается по-другому: там дело не в AlarmKit, а в отдельном разрешении и в том, не усыпляет ли телефон приложение в фоне, — но исход тот же. Право звонить получает не только «родное» приложение. Как это устроено на Android — в отдельном разборе: «Почему сторонний будильник молчит, а системные часы звонят».

Что ещё спрашивают?

Значит, приложение можно не удалять? Можно — если оно проходит тест из предыдущего раздела. Совет «удали сторонний будильник, оставь только „Часы“» в сети встречается часто, и он одинаково хорошо звучит и для приложения, которое ставит настоящий будильник, и для того, которое этого не делает. Тест выше отличает одно от другого без единого удаления.

А если моё нынешнее приложение тест не прошло? Тогда дело не в конкретной модели телефона и не в невезении — дело в том, как приложение устроено изнутри, и без обновления от его разработчика это не починится само. Именно про такие случаи и написан совет «пользуйся только „Часами“»: для приложения без места в системе он на самом деле верный. Просто ни одна из этих статей не объясняет, откуда он берётся — теперь ты знаешь.


Читать дальше