AskCleanAskClean

Armazenamento do simulador Xcode: runtimes e dispositivos

Equipe AskClean · Atualizado 2026-09-29

Primeiro confira os runtimes e os dados de cada simulador. Remova apenas o que deixou de ser necessário usando Xcode ou simctl. O runtime pode ser compartilhado, mas cada dispositivo guarda seus apps e testes. Preserve os estados necessários e não apague toda a pasta CoreSimulator.

Ilustração conceitual de um runtime compartilhado ligado a dados separados de dispositivos
Vários dispositivos podem usar um runtime, mas mantêm seus próprios apps e testes. Ilustração conceitual, não captura de tela.

Separar runtimes e dados dos dispositivos

O runtime é uma imagem compartilhada do sistema; cada dispositivo tem apps, documentos, caches e estados de teste próprios. Comece com xcrun simctl list devices. O script somente de leitura abaixo mede pastas comuns de desenvolvimento e mostra estados, sem excluir arquivos ou pedir acesso de administrador. Leia o código antes de executá-lo. Ele não cobre todos os runtimes do sistema; confira também os componentes do Xcode.

Os nomes dos menus foram mantidos em inglês. A exibição pode variar conforme o idioma da interface e a versão.

Confirmar todo o alcance da exclusão

xcrun simctl delete unavailable exclui todos os dispositivos marcados como unavailable e seus dados locais. Use apenas se puder dispensar a lista inteira. Um Xcode compatível ou a reinstalação do runtime pode permitir acesso aos dados existentes. Exporte o necessário; se não puder preservar ou recriar um estado importante, mantenha o dispositivo.

Dispositivos disponíveis podem ser removidos individualmente no gerenciador, em algumas versões em Window > Devices and Simulators > Simulators. Apagar conteúdo e ajustes mantém o dispositivo; excluí-lo também remove seu registro. Nenhuma dessas operações envia os dados perdidos à Lixeira.

Gerenciar runtimes pelo Xcode

Abra Xcode Settings > Components, chamado Platforms em algumas versões antigas. Mantenha os sistemas usados em testes e para reproduzir problemas de usuários. Use esse gerenciador; não desmonte pacotes manualmente nem apague toda ~/Library/Developer/CoreSimulator ou caches desconhecidos.

Conferir espaço e funcionamento

Anote o uso das pastas e o espaço livre, limpe uma categoria e repita a medição. O script formata os valores de du; eles não medem exatamente o aumento de espaço disponível. Confira runtimes também na lista de componentes. Inicie dispositivos com os runtimes mantidos e execute um app ou teste representativo, verificando os estados necessários. Reinstalar um runtime não recupera dados de um dispositivo excluído.

Preservar Archives e dSYM separadamente

Archives pode conter builds publicados e dSYM para analisar falhas, além de material necessário para exportar ou assinar novamente. Preserve o que atende versões ainda suportadas e valide um backup utilizável antes de remover cópias locais pelo Organizer. Esta revisão não excluiu dispositivos ou runtimes reais e não promete uma economia fixa.

O que verificar antes de excluir

Confirme o local, a finalidade e como recuperar cada item. A tabela não é uma lista de exclusão automática nem garante um volume fixo de espaço livre.

ItemOnde verificarConsequências e condições
Dispositivos indisponíveisxcrun simctl list devicesApps e estados de teste serão perdidos. Confira a lista inteira.
Dispositivos disponíveisXcode > Devices and SimulatorsRemove os dados do dispositivo escolhido; exporte o necessário antes.
RuntimesXcode Settings > ComponentsRemove a imagem do sistema. Reinstalar não restaura os dados locais.
Caches do CoreSimulator~/Library/Developer/CoreSimulator/CachesVerifique o tamanho; a exclusão manual não foi validada aqui.

Perguntas frequentes

Posso excluir dispositivos unavailable com segurança?

Só depois de conferir a lista completa. O comando exclui todos os dispositivos afetados e seus dados sem passar pela Lixeira. Um runtime ausente não torna os dados dispensáveis.

Por que o uso de espaço continua alto?

Runtimes instalados e dispositivos disponíveis permanecem. Verifique cada grupo. DerivedData contém outras saídas de build; excluí-lo não remove runtimes do simulador.

Fontes