O Xcode está ocupando todo o meu espaço
De vinte a sessenta gigabytes num Mac ativo, espalhados por seis pastas, e o Xcode nunca limpa nenhuma delas sozinho. Aqui está cada uma, para que serve, e se você pode apagar.
Teste grátis de 14 dias, sem cartão. Depois US$ 15 uma vez para 3 computadores.

Meça primeiro
Um comando mostra como o total se divide entre as pastas do Xcode, para você saber qual atacar:
du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator 2>/dev/null | sort -h
As seis pastas
DerivedData — em geral a maior · seguro apagar
Intermediários de compilação, índices e caches de módulos, uma pasta por projeto, guardados para sempre inclusive de projetos que você apagou faz tempo.
~/Library/Developer/Xcode/DerivedData
Apagar custa uma compilação lenta e nada mais. É também a solução padrão quando o Xcode se comporta de forma estranha, e por isso todo desenvolvedor iOS sabe esse caminho de cor.
iOS DeviceSupport — grande · seguro apagar
Caches de símbolos copiados de todo dispositivo físico que você já conectou, uma pasta por versão do iOS. Vários gigabytes cada, e vão se acumulando de telefones que você não tem mais.
~/Library/Developer/Xcode/iOS DeviceSupport
O Xcode copia de novo na próxima vez que você conectar um dispositivo com aquela versão do iOS — uma primeira conexão mais lenta e nada mais.
Dispositivos do CoreSimulator — grandes · quase sempre seguros
Cada dispositivo simulado tem o próprio sistema de arquivos, e eles nunca são recuperados. Use o comando do próprio Xcode em vez de apagar pastas, para o banco dele continuar consistente:
xcrun simctl delete unavailable
Para ir além, xcrun simctl delete all remove todos os dispositivos simulados. Os runtimes dos simuladores são gerenciados em Xcode → Ajustes → Componentes.
Archives — pequenos mas insubstituíveis · manter
Toda versão que você já publicou, com os símbolos de depuração dSYM.
~/Library/Developer/Xcode/Archives
Esse é o que você deve deixar em paz. Sem o dSYM de uma versão publicada você não consegue simbolizar os relatórios de falha de quem a usa: os rastreamentos ficam em endereços hexadecimais para sempre. Se precisar mesmo recuperar espaço aqui, mantenha os archives de toda versão que ainda esteja em circulação.
E de novo depois da próxima versão do iOS
O DerivedData volta no dia em que você compila, o DeviceSupport cresce a cada dispositivo conectado: isso é uma tarefa recorrente, não uma solução. O Bytesweep acha as seis pastas numa passada, mantém os Archives marcados para revisão em vez de limpeza, e desfaz qualquer limpeza por sete dias — o que importa no dia em que você limpa o projeto errado.
Cache do Swift Package Manager — seguro apagar
Repositórios de dependências clonados, buscados de novo sob demanda.
~/Library/Caches/org.swift.swiftpm
Runtimes antigos de simuladores e versões antigas do Xcode — com cuidado
Um Xcode.app anterior tem 15 GB sozinho, e os runtimes mais alguns. Guarde a versão de que você ainda precisa para um projeto antigo; apague o resto pelo Finder e depois remova os runtimes associados em Ajustes → Componentes.
Dois hábitos que seguram o crescimento
Apague o DerivedData por projeto, não em bloco
Cada subpasta leva o nome de um projeto. Limpar a pasta inteira força recompilar tudo em que você está trabalhando; limpar as dos projetos que terminaram no ano passado não custa absolutamente nada.
Confira o DeviceSupport depois de cada versão do iOS
Cresce uma pasta por versão do iOS e por dispositivo conectado, então sobe em silêncio o ano todo. Dois minutos a cada setembro evitam que vire 30 GB.
Ache as seis de uma vez
O Bytesweep detecta cada pasta do Xcode pelo nome, mostra o tamanho, e marca os Archives como para revisar em vez de limpar. Tudo o que você limpa vai para um ponto de restauração: desfazer fica a um clique por sete dias.
Relacionado: Docker disk space · a lista completa do Mac
Perguntas
É seguro apagar o DerivedData?
Sim. É tudo derivado do seu código, que é exatamente o que o nome diz. O único custo é que a próxima compilação de cada projeto afetado será completa.
Apagar o DeviceSupport quebra a depuração no meu telefone?
Não. O Xcode copia os símbolos de novo na próxima vez que você conectar um dispositivo com aquela versão do iOS. A primeira conexão depois demora alguns minutos a mais.
Posso apagar os Archives do Xcode?
Pode, mas pense antes. Os Archives guardam os dSYM das versões que você publicou, e sem eles os relatórios de falha dessas versões não podem ser simbolizados. Mantenha tudo que ainda esteja com usuários; apague betas antigas à vontade.
Por que o próprio Xcode.app é tão grande?
Cerca de 15 GB, porque traz as toolchains, os SDKs e os runtimes de simulador de todas as plataformas que a Apple suporta. Dá para remover runtimes não usados em Xcode → Ajustes → Componentes, mas o pacote do aplicativo é o que é.
O Xcode limpa alguma coisa disso automaticamente?
Não. Nenhuma dessas pastas tem limite de tamanho nem validade. É exatamente por isso que esta página existe.