Pitch: fiz um app pra não abrir o instagram antes das 8h (e o que aprendi mexendo na API de tempo de uso do iOS)
meu ritual era esse: acordar, pegar o celular "só pra ver a hora" e, quando via, já eram 7h10 e eu ainda tava no feed.
tentei resolver com o tempo de uso do próprio iPhone, mas pra esse caso ele não serve muito. o tempo de inatividade trava quase tudo, e o botão "ignorar limite" libera o app com um toque, bem na hora do reflexo.
aí acabei fazendo o mornara. é um app pra iPhone que bloqueia só os apps que você escolhe (instagram, tiktok, youtube) numa janela da manhã, tipo das 6h às 8h. ele liga e desliga sozinho todo dia. se você tentar abrir, aparece uma tela de "ainda é manhã", ou 30 segundos de respiração antes de liberar.
umas coisas técnicas que talvez interessem a quem tá por aqui:
- o bloqueio usa os frameworks FamilyControls, ManagedSettings e DeviceActivity da apple. o app nunca sabe quais apps você usa, porque a seleção vira um token opaco que só o iOS entende.
- a janela da manhã é um
DeviceActivitySchedulediário, e a extensãoDeviceActivityMonitorliga e desliga o bloqueio. janela que passa da meia-noite (22h às 7h) deu trabalho e precisou de um tratamento à parte. - a tela de bloqueio é uma
ShieldConfigurationcustomizada. o botão dela não consegue abrir o app direto, então a pausa pra respirar virou uma automação do atalhos que chama um App Intent. - o entitlement de Family Controls pra distribuir na app store precisa ser pedido pra apple, e demora.
tá na reta final, e a lista de espera tá em https://mornara.app. se alguém já passou pela aprovação do Family Controls, ou tem ideia de como deixar a pausa menos chata, me conta aí.