3 coisas que eu queria que a Apple corrigisse na Screen Time API

O que encontrei pelo caminho criando o mesmo bloqueador de apps para iPhone e Android. Por Thomas Willheim · 30 de setembro de 2026

Eu faço o HonorFit, um bloqueador de apps em que você ganha tempo de tela fazendo flexões (sistema de honra, sem câmera). É o mesmo app no iPhone e no Android, a mesma ideia e, na maior parte, o mesmo código. E, sinceramente? A versão de Android é mais agradável de usar.

Não é porque o Android bloqueia apps melhor. A Screen Time API do iOS é bem sólida na parte do bloqueio. É porque o iOS deixa você preso em três coisas específicas, e nenhuma delas parece estar lá para proteger os usuários. Então aqui vai a minha lista, com o que eu pediria à Apple. Tentei ficar só em coisas que não custariam privacidade a ninguém.

(Se você quer a versão técnica, de quem programa em cima dessa API, escrevi sobre isso separadamente: o que a documentação da Apple não conta.)

1. Só dá para ter um app usando o Tempo de Uso por vez

Digamos que você já usa o Brick, o Opal ou o one sec e quer experimentar o HonorFit também. No iPhone, não dá. Quando o segundo app pede acesso ao Tempo de Uso, o iOS nem mostra o pedido de permissão. Ele só devolve um erro dizendo que o Family Controls está disponível para apenas um aplicativo por vez. Eu mesmo já vi esse erro, e outros desenvolvedores também estão esbarrando nele.

Para trocar, você precisa ir em Ajustes › Tempo de Uso › Apps com Acesso ao Tempo de Uso, desativar o outro app e, às vezes, reiniciar o celular. O HonorFit agora detecta o erro e explica o passo a passo, porque a mensagem de erro crua não significa nada para uma pessoa normal.

Alerta do HonorFit no iPhone: outro app está usando o Tempo de Uso. O iOS só permite que um app controle o Tempo de Uso por vez, com os passos para desativar o outro app em Ajustes
O que quem usa iPhone vê no HonorFit quando outro app já tem acesso ao Tempo de Uso. O próprio iOS só entrega um erro ao app, então essa explicação é nossa.

Agora a parte estranha: quando a Apple apresentou esse tipo de autorização na WWDC22, ela disse que, ao contrário da autorização de controle parental, a autorização individual pode ser usada por qualquer número de apps num aparelho. Não é isso que acontece hoje, e não encontrei isso documentado em lugar nenhum.

Por que isso não é do interesse dos usuários: as pessoas combinam ferramentas. Alguém pode usar um Brick para sessões de foco pesado no trabalho e o HonorFit para conquistar a rolagem da noite. A Apple já tem uma regra para combinar restrições: quando vários ManagedSettingsStores definem a mesma coisa, nas palavras da Apple, "the most restrictive setting always wins" (a configuração mais restritiva sempre vence). Fazer o mesmo entre apps permitiria usar os dois, e desse jeito um celular só pode acabar mais travado, nunca menos.

O que eu pediria: deixar mais de um app ter a autorização individual do Tempo de Uso, como foi descrito na WWDC22, e juntar os shields deles com a mesma regra de "a mais restritiva vence". Se existe um motivo real para o limite, documentar e dar aos apps um código de erro decente para que eles possam explicar.

2. O seletor de apps é desajeitado, e os apps não podem personalizá-lo

No iPhone, escolher quais apps bloquear significa usar o FamilyActivityPicker da Apple. É uma tela do sistema que o app não pode mudar, a não ser por uma linha de texto no cabeçalho e no rodapé. Ela abre numa lista de categorias (Redes Sociais, Jogos, Entretenimento...), e você toca numa categoria para encontrar os apps de verdade. No Android, eu mesmo monto a lista, então o HonorFit mostra os apps instalados ordenados por quanto você usou cada um nas últimas 24 horas.

O seletor de apps do Tempo de Uso no iOS: uma lista de categorias de apps, com Saúde e Fitness aberta mostrando seus apps
iPhone: o seletor da Apple. Categorias primeiro, nenhum dado de uso, igual para todos os apps.
O seletor de apps do HonorFit no Android: apps listados com o tempo de uso nas últimas 24 horas, os mais usados primeiro
Android: a lista do próprio HonorFit, ordenada por tempo de uso, então os seus piores apps ficam bem no topo.

Duas coisas me incomodam no do iOS:

Isso não custaria nada de privacidade. O seletor é desenhado pelo iOS, no processo dele. O app nunca vê o que tem ali dentro, só tokens opacos do que você escolheu. O HonorFit literalmente não consegue saber quais apps você escolheu. Então o iOS poderia mostrar os tempos de uso dentro do seletor, e o app continuaria sem saber de nada. A Apple já faz algo parecido com as extensões DeviceActivityReport, que mostram seu uso dentro de uma sandbox que o app não consegue ler.

O que eu pediria:
  1. Uma opção no seletor para escolher categorias inteiras ou só apps, para que um bloqueador de apps possa oferecer uma lista só de apps, sem escolher categorias por acidente (e esconder sites, se não usar).
  2. Uma opção para ordenar pelo tempo de tela medido, e mostrá-lo, ao lado de cada app, desenhado pelo iOS para que o app nunca veja os números.

3. Não dá para ver uma contagem regressiva precisa do tempo que resta

No HonorFit, o tempo que você conquistou só é descontado enquanto você está de fato num app bloqueado. Então o óbvio a mostrar é uma contagem regressiva: “faltam 12:34”, descendo enquanto você rola o feed e parando quando você sai.

No Android, é fácil. O serviço em segundo plano do HonorFit verifica qual app está na tela a cada segundo, e a notificação usa o cronômetro regressivo nativo do Android, então a aba de notificações redesenha o tempo a cada segundo sozinha. Você puxa a aba para baixo e vê exatamente quanto tempo resta, ao segundo.

No iPhone, não é possível, e eis o porquê:

Então quem usa iPhone recebe uma estimativa aproximada, enquanto quem usa Android vê o número real.

O que eu pediria: deixar um evento do DeviceActivity controlar uma contagem regressiva que o próprio iOS desenha: numa notificação, numa Atividade ao Vivo ou no shield, correndo só enquanto os apps monitorados estão na tela. O iOS já mede esse uso ao segundo, então poderia mostrar o tempo sem entregar nada de novo ao app. Até simples callbacks de “app bloqueado aberto / fechado” para a extensão de monitoramento resolveriam boa parte disso.

É isso

Para ser justo com a Apple, o modelo de privacidade aqui é muito bom. O app nunca descobre o que você bloqueou nem quanto você usa, e eu odiaria ver isso mudar. Nenhuma das três coisas acima mudaria isso. Elas só deixariam os apps de iPhone tão úteis quanto as versões de Android já são.

Se você também desenvolve em cima do Tempo de Uso e quer alguma dessas coisas, registre o pedido no Assistente de Feedback. Pelo que entendo, relatos duplicados são o que faz as coisas serem notadas. E se você só quer experimentar o app, o HonorFit é grátis no iPhone e no Android. Quem sabe alguns de vocês curtem!

Continue lendo