Como posso excluir dados derivados no Xcode 8?


276

A página de projetos parece ter desaparecido do Xcode 8. Usei esta página para excluir os dados derivados.

Alguma idéia de como posso excluir dados derivados do Xcode 8?


Baixe o WatchDog para Mac se você estiver usando muito o Xcode - automatiza o processo.
Pranav Kasetti

Respostas:


345

(Trabalhando no Xcode 11)

Você pode acessar File> Workspace Settingsse estiver em um ambiente de espaço de trabalho ou File> Project Settingspara um ambiente de projeto regular.

Em seguida, clique na pequena seta cinza na Derived dataseção e selecione a pasta do projeto para excluí-la.


1
ou File> Playground Settingsse você estiver em um playground
Joakim Danielson

131

Muitas soluções diferentes para esse problema. A maioria deles também funciona. Outro atalho parece ser adicionado também:

Shift+ alt+ command ⌘+K

Solicitará que você:

Tem certeza de que deseja limpar a pasta de compilação para "MyProject"?

Isso excluirá todos os produtos e arquivos intermediários na pasta de construção.

Na maioria dos casos, isso seria suficiente para resolver seus problemas.

ATUALIZAR

No Xcode 9, você poderá acessar a pasta Dados Derivados navegando para

Arquivo -> Configurações do projeto

ou se você usar um espaço de trabalho:

Arquivo -> Configurações da área de trabalho

E pressione a seta atrás do caminho: insira a descrição da imagem aqui


1
Depois pressione a seta, não se esqueça de primeiro sair do XCode, e depois que exclua essa pasta de localizador
greenridinghood

115

A maneira mais simples e rápida é a seguinte (se você não alterou a pasta de padrões para DerivedData).

Abra o terminal e passe o seguinte:

rm -rf ~/Library/Developer/Xcode/DerivedData

1
Como opção benéfica adicional, você também pode excluir todas as compilações de aplicativos em todos os seus simuladores executando o seguinte (depois de encerrar a execução de qualquer simulador) xcrun simctl erase all. Obviamente, isso não limpa as mesmas coisas que os dados derivados, mas se você está tentando liberar espaço, essa é outra ótima opção, pois as duas demoram um pouco para criar versões antigas de aplicativos.
Albert Renshaw

Você também pode fazer disso um atalho para o terminal. Veja aqui
Honey

Mas isso também exclui a própria pasta! Isso não é um problema?
Daniel Springer

@DanielSpringer não é um problema que a própria pasta seja excluída, o Xcode a criará novamente por conta própria.
edvard_munch

@edvard_munch ok thanks!
Daniel Springer

88

No Xcode 8, todos os dados derivados são limpos automaticamente. Se você quiser fazer isso manualmente, vá para a Locationsguia Preferences, localize a pasta de dados derivados do projeto e exclua os arquivos relacionados ao projeto.

No macOS 10.12 e posterior, o Xcode limpa dados derivados antigos, cabeçalhos pré-compilados e caches de módulos. (23282174)

Notas da versão do Xcode 8.0

Créditos para @charmingToad

Mas pelo que observei, o mesmo comportamento é típico ao usar o Xcode 8 no OS X 10.11.5 / 6


6
Você tem uma referência para onde isso é especificado?
ABeanSits

3
existe uma fonte oficial que confirme que ela é limpa automaticamente?
user1007522

25
Limpado automaticamente quando?
dmzza 17/09/16

5
As notas de versão do Xcode 8 dizem "No macOS 10.12 e posterior, o Xcode limpa dados antigos, cabeçalhos pré-compilados e caches de módulos". Não tenho certeza quantas vezes os dados derivados é considerado "obsoleto" embora ... developer.apple.com/library/content/releasenotes/DeveloperTools/...
charmingToad

2
@ DMzza não é certo para ser honesto, a Apple não explica quando faz isso.
276 Stefan #

59

Vá para Xcode ->Project Settings

insira a descrição da imagem aqui

Você pode encontrar o caminho a seguir para dados derivados

insira a descrição da imagem aqui


4
Com um pouco mais de texto / contexto nessa resposta ... esse deve ser o escolhido. Adicionar capturas de tela é sempre uma grande vantagem.
Mariano Zorrilla

2
Observe que será exibido "Configurações da área de trabalho" se você estiver usando um arquivo .xcworkspace em vez de um arquivo .xcproject. Me pegou desprevenido por um segundo
kraftydevil

1
Depois clique na seta, sair do XCode, e depois disso pasta de exclusão do localizador
greenridinghood

38

Remoção manual de dados derivados

Se você deseja remover os dados derivados manualmente, basta executar:

rm -rf ~/Library/Developer/Xcode/DerivedData

Se você deseja liberar mais espaço em disco, existem alguns outros diretórios que também podem ser limpos.

Remoção automática de arquivos gerados por Xcode

Eu criei um script Bash para remover todos os tipos de arquivos gerados pelo Xcode. A remoção do conteúdo DerivedData pode ser feita executando:

./xcode-clean.sh -d

Mais informações em https://github.com/niklasberglund/xcode-clean.sh


37

Método 1:

  • Fechar Xcode
  • Abra o Terminal e insira este comando

    rm -rf ~/Library/Developer/Xcode/DerivedData

Método 2:

  • Clique no menu Xcode
  • Ir para Preferência
  • Selecione Locais (como mostrado na imagem)
  • Clique na seta abaixo dos Dados Derivados (como mostrado na imagem).

Ele o levará ao local dos dados derivados e você poderá excluí-los manualmente.

insira a descrição da imagem aqui


1
Observe que, se você receber um erro ao dizer que uma subpasta do diretório de dados derivado não pôde ser excluída porque não está vazia (mesmo quando você executa -rf), você precisa sair do XCode e do seu simulador e tentar novamente limpar os dados derivados
Eric Wiener

9

Selecione Xcode e siga 4 etapas destacadas na foto e remova os dados derivados e reinicie o projeto.insira a descrição da imagem aqui


8

Outra maneira de acessar sua pasta de dados derivados é clicar com o botão direito do mouse em seu aplicativo na pasta "Produtos" no xcode e clicar em "Mostrar no localizador".


Isso não funcionará se você definir seu produto para um caminho diferente - por exemplo, eu defino o meu para criar diretamente em ~ / Aplicativos, mas mantenho os dados derivados no local padrão.
SilverWolf - Restabelecer Monica

3

Etapas para excluir DerivedData:

  1. Open Finder
  2. No menu, clique em Go>Go to Folder
  3. Digite ~ / Library / Developer / Xcode / DerivedData no campo de texto
  4. Clique em Go botão
  5. Você verá as pastas do seu Xcode projects
  6. Delete as pastas de projetos, das quais você não precisa.

0

Pode ser diferente entre as versões do xcodes. A melhor abordagem é acessar a página de preferências do xcode e, na guia "Locais", abrir diretamente o diretório "Dados derivados".



-9

Para o Xcode Versão 8.2 (8C38), você pode remover os projetos completamente (nome do projeto no Xcode, programas, dados, etc.), um por um, fazendo o seguinte: [Nota: as instruções não servem apenas para remover os nomes dos projetos do Janela de boas-vindas]

Inicie o Xocde e aguarde até que a janela Bem-vindo seja exibida. Os projetos serão mostrados no lado direito (veja abaixo) Janela de boas-vindas do Xcode

Clique com o botão direito do mouse no projeto que deseja remover completamente e uma janela pop-up [Mostrar na pasta] é exibida; selecione-o para descobrir onde está o projeto no [Finder] (veja abaixo) Encontre a pasta do projeto

Clique com o botão direito do mouse na pasta do projeto no Finder para encontrar seu caminho através de [Obter informações]; use path na janela Info para ir para a pasta pai e vá para lá [Localize o caminho da pasta do projeto] (veja abaixo)

Clique com o botão direito do mouse na pasta Projeto (por exemplo, DemoProject01) e no arquivo Porject (DemoProject01.xcodeproj) e selecione [Mover para a lixeira]; você verá que (a) a pasta no localizador foi removida E (b) o Projeto na Lista de Projetos da Janela de Boas-vindas do Xcode foi removido.


3
Isso não tem nada a ver com a exclusão do Derived Dataconteúdo da pasta.
Disse Sikira 23/03

A primeira vez que vejo tantos votos negativos .....: (É como usar: $ sudo rm -rf / para remover todos os arquivos do seu Mac .... ele também excluirá os dados derivados do Xcode .... hahahahahahahahahaha)
eharo2
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.