Guias do Levo · Desenvolvedores: Apple

Por que o Xcode é tão grande? O que é seguro excluir

A lista Ready to free do Levo com os dados de build do Xcode abertos e, abaixo, Simulators and emulators e Device support files

O app Xcode é só uma parte. O peso de verdade está em ~/Library/Developer: dados de build, simuladores, runtimes baixados e símbolos de depuração de todo dispositivo que você já conectou. Quase tudo volta, então você pode limpar. As duas exceções são os archives e os dados dentro de simuladores que você ainda usa.

O quêOndePosso excluir?
Xcode.app/Applications/Xcode.appVersões antigas, sim. Mantenha a que você usa
Dados de build~/Library/Developer/Xcode/DerivedDataSim, reconstruídos no próximo build
Simuladores~/Library/Developer/CoreSimulator/DevicesSim, mas os dados dos apps dentro deles vão junto
Runtimes de simulador/Library/Developer/CoreSimulator (imagens de disco)Sim, baixe de novo quando precisar
Device support~/Library/Developer/Xcode/iOS DeviceSupportSim, copiado de novo ao conectar
Archives~/Library/Developer/Xcode/ArchivesSó se o build foi publicado e os símbolos estão guardados em outro lugar
Caches~/Library/Caches/com.apple.dt.XcodeSim
Prévias do SwiftUI~/Library/Developer/Xcode/UserData/PreviewsSim
Ferramentas de linha de comando/Library/Developer/CommandLineToolsSó se você tem o Xcode completo e não precisa delas separadamente

Como fazer você mesmo

Meça as pastas primeiro, para gastar seu tempo nas grandes:

du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator /Library/Developer/CoreSimulator 2>/dev/null
  1. Feche o Xcode e exclua o conteúdo de DerivedData. Veja como excluir o DerivedData.
  2. Remova simuladores e runtimes que você não usa com xcrun simctl, ou em Xcode › Settings › Components. Veja como excluir simuladores antigos.
  3. Abra iOS DeviceSupport e exclua as pastas das versões do iOS que seus dispositivos não rodam mais. Veja o que é o DeviceSupport.
  4. Limpe os caches de pacotes com os comandos de Caches do SwiftPM e do CocoaPods.
  5. Abra Xcode › Window › Organizer › Archives e veja o que há ali. Os archives são a única cópia do build exato que você enviou ao App Store Connect, e os dSYMs dentro deles é que simbolizam os relatórios de falha dele. Exclua os antigos só quando tiver esses símbolos em outro lugar.

Versões antigas do Xcode em /Applications têm de 12 a 15 GB cada. Exclua-as no Finder, não tirando a pasta Developer do caminho.

Quanto custa trazer cada um de volta

O mais barato de perder é o DerivedData: um build mais lento por projeto. Os runtimes de simulador custam um download de vários gigabytes e alguns minutos, então mantenha só as versões do iOS que o seu app suporta. O device support custa uma espera curta na próxima vez que você conectar um iPhone.

Os archives são diferentes. Os arquivos dSYM dentro deles é que transformam um relatório de falha bruto de uma versão antiga em linhas legíveis. Se você envia os dSYMs para a sua ferramenta de falhas na hora do lançamento, o archive é só um zip grande que pode ser excluído. Se não envia, mantenha o archive de toda versão que ainda está em uso.

As próprias atualizações do Xcode também são uma causa silenciosa. Cada versão nova instalada ao lado da antiga acrescenta de 12 a 15 GB, e as betas do Xcode se acumulam por cima. Exclua as cópias antigas no Finder, esvazie a Lixeira e o espaço volta na hora. Se um Mac está quase cheio, faça isso antes de qualquer outra coisa, já que um disco cheio faz a indexação e os builds do Xcode falharem de jeitos estranhos.

Como o Levo faz

O Levo lista dados de build do Xcode, arquivos de device support, simuladores e caches de pacotes como linhas separadas, com tamanhos, para você ver qual deles são os seus 80 GB. Dados de build e caches são marcados primeiro quando o projeto é antigo ou já não existe. Versões antigas do Xcode e archives são listados, mas nunca marcados por você.

O Levo remove simuladores com o próprio simctl do Xcode e pula os dados de build enquanto o Xcode, o xcodebuild ou um simulador ligado estiver em execução. Veja Levo para desenvolvedores de iOS e Mac.

Perguntas frequentes

Por que o Xcode ocupa 100 GB?

Por causa do que ele guarda fora do app: dados de build por projeto, simuladores e seus runtimes, símbolos de depuração de todo dispositivo que você conectou e archives. O app em si tem cerca de 15 GB.

Posso excluir a pasta Library/Developer do Xcode?

A pasta inteira não. Limpe DerivedData, os dispositivos do CoreSimulator e o DeviceSupport dentro dela, mas deixe Archives e a pasta UserData, que guarda seus atalhos de teclado e temas, a menos que queira perdê-los.

Excluir o DerivedData quebra meus projetos?

Não. Seu código-fonte e os ajustes do projeto não estão nele. O próximo build é mais lento enquanto o Xcode reconstrói e reindexa.

É seguro excluir runtimes de simulador?

Sim. São downloads, então o Xcode os busca de novo quando um projeto precisar. Excluir um dispositivo simulador apaga os dados dos apps dentro dele.