Os Anexos do iMessage Estão Silenciosamente Enchendo o Seu Mac
As fotos e os vídeos que chegam pelo Messages ficam guardados no seu Mac. Onde fica essa pasta e como apagar os anexos de verdade.
Mais guias como este, por enquanto, só estão disponíveis em inglês. Ver todos os artigos
Se o Messages está sincronizado via iCloud entre o seu iPhone e o Mac — o padrão, e como a maioria das pessoas usa — toda foto, vídeo, memo de voz e arquivo que alguém já te enviou numa conversa fica em cache localmente neste Mac também, não só no seu telefone.
du -sh ~/Library/Messages/Attachments
Grupos com bastante compartilhamento de fotos e vídeos costumam ser o principal responsável aqui — um único grupo ativo ao longo de um ano ou dois pode facilmente somar vários gigabytes sozinho, e a maioria das pessoas tem mais de um.
Onde os dados realmente moram
O Messages divide o armazenamento em um banco de dados (o texto e os metadados) e uma pasta de anexos separada (a mídia em si), de forma parecida com a estrutura do Mail:
du -sh ~/Library/Messages/chat.db # texto das mensagens, pequeno comparado aos anexos
du -sh ~/Library/Messages/Attachments # toda foto, vídeo, memo de voz — esse é o grande
Attachments é organizado numa estrutura de pastas aninhadas baseada em hash em vez de por
conversa, o que explica por que você não consegue simplesmente navegar até “a pasta desse grupo
específico” — a própria interface do app é o jeito prático de identificar e apagar por conversa,
coberto abaixo.
A correção segura mais fácil: deixe o Messages gerenciar isso automaticamente
Ajustes do Sistema → Mensagens → iMessage → Histórico de Mensagens, ou dentro dos próprios ajustes do app Messages, tem opções para apagar automaticamente mensagens e anexos depois de 30 dias ou um ano em vez de manter tudo para sempre. Essa é a mudança de maior impacto para a maioria das pessoas — ativar retenção de 1 ano em vez de “Para Sempre” limita o crescimento contínuo sem você precisar fazer mais nada.
Isso vale só daqui para frente — não limpa retroativamente anos de anexos já acumulados, o que os passos abaixo resolvem.
Limpando o que já se acumulou
Por conversa, de dentro do app (mais seguro, mais cirúrgico): abra uma conversa, use o painel de detalhes da conversa para ver e apagar anexos ou fotos grandes individualmente, principalmente em grupos dos quais você não participa mais ativamente mas nunca saiu.
No sistema todo, via ajustes de Armazenamento: Ajustes do Sistema → Geral → Armazenamento, depois a categoria Mensagens, que mostra o tamanho total e oferece uma visão de “Revisar Anexos Grandes” ou algo parecido, ordenada por tamanho — o jeito mais rápido de encontrar os maiores culpados sem abrir cada conversa manualmente.
Apagar diretamente da pasta Attachments (último recurso, mais disruptivo): seguro no sentido de que o Messages regenera suas referências internas, mas pode deixar imagens de placeholder com aparência quebrada em conversas antigas em vez de remover a referência da mensagem de forma limpa também. Os métodos de apagar dentro do app acima são mais limpos e recomendados para a maioria das pessoas; essa opção existe principalmente para automatizar uma limpeza em massa de anexos mais antigos que uma certa data:
find ~/Library/Messages/Attachments -type f -mtime +365 -exec du -ch {} + | tail -1
# Revise o total primeiro; só prossiga para uma exclusão de fato pelos
# próprios ajustes de retenção do app acima em vez de apagar esses
# arquivos diretamente, para evitar o problema do placeholder quebrado.
Memos de voz especificamente
Mensagens de voz enviadas pelo Messages têm uma expiração padrão (2 minutos depois de serem ouvidas, a menos que “Manter” seja tocado) no iOS, mas esse comportamento de expiração nem sempre se aplica de forma limpa a como elas ficam em cache no Mac, e algumas se acumulam de qualquer jeito. Vale uma checagem específica se você usa memos de voz com frequência:
find ~/Library/Messages/Attachments -iname "*.caf" -exec du -sh {} \; 2>/dev/null | sort -hr | head -10
O que não é seguro mexer
chat.db é o seu histórico de mensagens de verdade — conteúdo de texto, timestamps, confirmações
de leitura. Diferente dos anexos, que são arquivos de mídia grandes com um custo de armazenamento
óbvio, o banco de dados em si é pequeno e não vale a pena mirar por espaço; apagar ou corromper ele
perde totalmente o seu histórico de conversas, sem recuperação do lado do servidor para
configurações só-no-dispositivo. Tudo neste artigo é focado em Attachments, deliberadamente, não
no banco de dados.
O padrão, mais uma vez
O Messages se junta ao Mail e ao Photos como a terceira grande categoria de apps da Apple que acumula silenciosamente dados reais e sincronizados, em vez de cache descartável — vale a pena conhecer como uma categoria distinta dos caches de build de desenvolvimento cobertos no resto deste blog, já que a resposta segura para cada um é diferente: caches de desenvolvimento você apaga livremente, esses três você gerencia por meio de ajustes de retenção e revisão seletiva.
O DevCruft, um app gratuito para Mac que estamos construindo, está sendo projetado para mostrar os anexos do Messages dimensionados no mapa junto com tudo o mais, para que você saiba se vale a pena uma viagem especial pelos Ajustes antes de sair procurando. Ele ainda está em desenvolvimento; entre na lista de espera se quiser saber quando ficar pronto.
Para a mesma situação no Mail, veja o guia de armazenamento do Mail.app.