image

Acesse bootcamps ilimitados e +750 cursos pra sempre

75
%OFF

AK

Ayumu Kitabayashi07/11/2026 04:27
Compartilhe

Por que nenhum app esconde os Reels dentro do app oficial do Instagram no iOS

    Uma pergunta que aparece bastante: "tem algum app que tira a aba de Reels do Instagram no iPhone?". A resposta curta é que nenhum app de terceiros consegue mexer na interface do app oficial do Instagram, e isso não é falta de vontade dos desenvolvedores. É o jeito como o iOS foi desenhado.

    Aviso logo: sou o desenvolvedor do minulo, um app para iPhone e Mac que esconde os Reels e os Shorts. Então tenho interesse no assunto. Mesmo assim, a ideia aqui é explicar o que a plataforma permite e o que não permite, porque isso vale para qualquer app desse tipo.

    O sandbox: um app não toca na tela de outro

    No iOS, cada app roda no próprio sandbox. Ele tem o seu container de arquivos, os seus processos e a sua interface, e não tem como ler nem alterar a interface de outro app. Não existe API pública para injetar código no app do Instagram, esconder uma view ou trocar uma aba.

    Sem jailbreak não há como, e um app que dependesse de jailbreak não passaria pela revisão da App Store.

    Resultado prático: dentro do app oficial do Instagram, quem decide se a aba de Reels aparece é a Meta. Dentro do app oficial do YouTube, quem decide sobre os Shorts é o Google.

    Screen Time API: bloqueia o app inteiro, não uma parte

    Desde o iOS 15 a Apple oferece a Screen Time API para terceiros, dividida em três frameworks:

    • FamilyControls: pede a autorização do usuário e mostra o FamilyActivityPicker, onde a pessoa escolhe apps, categorias e sites. O app recebe tokens opacos, não o nome nem o bundle ID do que foi escolhido.
    • ManagedSettings: aplica restrições a esses tokens, por exemplo colocar um "shield" (a tela de bloqueio) sobre um app.
    • DeviceActivity: agenda quando as restrições começam e terminam, e avisa uma extensão quando um intervalo começa ou termina ou quando um limite de uso é atingido.

    Repare na granularidade: o que você bloqueia é o app (ou uma categoria, ou um domínio web). Não existe "bloquear só a aba de Reels" nem "bloquear só a rota /shorts dentro do app do YouTube". Para o Screen Time, o Instagram é uma coisa só: Reels, feed e Direct juntos.

    Por isso o limite do próprio Tempo de Uso do iPhone tem o mesmo problema. Quando ele chega, os Reels somem, mas as suas DMs e os grupos também.

    Dá para personalizar a tela de bloqueio com uma extensão de configuração do shield (título, texto, ícone, botões), e tratar o toque nos botões com outra extensão. Isso vai ser importante daqui a pouco.

    Content blockers do Safari: funcionam, mas só no Safari

    A outra ferramenta que a Apple dá é o content blocker do Safari (e, mais recentemente, as extensões web do Safari). Você declara regras, por exemplo esconder elementos por seletor CSS, e o Safari aplica.

    Para quem usa instagram.com ou youtube.com no Safari, isso resolve bem. O limite é óbvio: essas regras só valem dentro do Safari. O app oficial do Instagram não usa o Safari para mostrar o feed, então o bloqueador não tem nenhum efeito lá. E o usuário, por hábito, toca no ícone do app, não no Safari.

    Então o que sobra?

    Juntando as peças, um app de terceiros no iOS tem basicamente dois movimentos possíveis:

    1. Mostrar a versão web da rede social dentro do próprio app, numa WKWebView, e esconder os elementos que a pessoa não quer ver.
    2. Bloquear o app oficial com a Screen Time API, para o hábito de tocar no ícone não levar de volta ao feed infinito.

    É isso que o minulo faz. Ele abre o site do Instagram, do YouTube e de outras redes (são 10 serviços, incluindo TikTok, X e Facebook) dentro de uma WKWebView e esconde o que você escolher nas configurações: a aba de Reels, a seção de Shorts, o Explorar, o feed. No Instagram dá até para deixar só as mensagens. O login é feito na própria página de login de cada rede, e o minulo não recebe nem guarda a senha.

    Do lado do Screen Time, o minulo usa FamilyControls e ManagedSettings para bloquear o app oficial. A tela de bloqueio tem um botão Abrir no minulo. Então a pessoa toca no ícone do Instagram por reflexo, vê o shield e, em vez de ficar só bloqueada, é levada para a versão sem Reels, onde o Direct continua funcionando.

    Esconder é grátis. O bloqueio do app oficial é grátis por até 2 horas por vez. Recursos como Modo sono e Horário de trabalho, que bloqueiam por agenda, ficam no Pro, que é opcional.

    Os limites dessa abordagem

    Vale ser honesto sobre o que essa arquitetura não resolve:

    • O app oficial continua igual. Nada muda dentro do Instagram ou do YouTube oficiais. Os Reels somem só dentro do minulo.
    • Notificações. Enquanto o app oficial está bloqueado pela Screen Time API, as notificações dele não chegam. É o comportamento do iOS, e o minulo não manda notificações próprias.
    • Dependência do site. Esconder elementos de um site significa depender da estrutura dele. Quando a rede social muda o HTML, algo escondido pode reaparecer até sair uma atualização.
    • Recursos que o site não tem. Se a versão web não tem chamadas de voz ou de vídeo, a WKWebView também não vai ter.
    • Plataforma. O minulo existe para iPhone e Mac. Não tem versão Android.

    Resumo para quem desenvolve

    O sandbox impede mudar a interface de outro app, a Screen Time API trabalha no nível do app, da categoria ou do domínio, e content blockers só valem no Safari. Por isso qualquer solução de "esconder só uma parte" no iOS acaba combinando uma visão web própria com o bloqueio do app oficial. O trabalho difícil não está na API, está em manter os seletores funcionando enquanto os sites mudam e em fazer a experiência ser boa o bastante para a pessoa não sentir falta do app oficial.

    Se quiser ver como isso ficou na prática: minulo

    Compartilhe
    Recomendados para você
    Neo4j - Certification
    DXC - IA do Zero ao Primeiro Agente
    Reclame AQUI - Dados e IA na Prática
    Comentários (0)