Existe uma maneira direta de limpar o diretório onde o xcode implanta um aplicativo ao construir para o simulador de iPhone? Eu tenho um banco de dados sqlite que é copiado para a pasta Documentos na inicialização, se necessário. O problema é que posso mudar meu esquema, mas o novo banco de dados não será copiado, porque já existe um.
Idealmente, toda vez que eu construo, ele destruiria o conteúdo anterior. Isso é possível ou tenho que fazer manualmente?
iphone
xcode
ios-simulator
Travis Jensen
fonte
fonte
Respostas:
O simulador instala aplicativos em:
Verifique também:
Os arquivos e diretórios GUID correspondem aos aplicativos instalados do simulador.
Exclua manualmente todos esses arquivos / diretórios para remover todos os aplicativos do simulador.
Eu sei que há alguma maneira de adicionar scripts ao processo de construção no XCode.
Além disso, parece que o XCode altera o GUID que usa em cada compilação (o diretório onde meu aplicativo fica muda entre as compilações no XCode), portanto, tentar excluir o mesmo diretório o tempo todo não funcionará. Se você estiver trabalhando apenas em um aplicativo por vez, limpar todo o diretório seria uma opção.
fonte
git reset HEAD --hard && git clean -f
para remover uma assinatura de calendário após adicioná-la.De Apples Dev Resources:
Isso se parece com:
fonte
Hardware > Reset Content and Settings
A maneira como faço isso é simplesmente clicar e segurar o ícone do meu aplicativo no simulador - então, quando ele começar a balançar, clique no preto e branco (x). Uma mensagem aparecerá perguntando se você realmente deseja excluir e basta clicar em sim. Na próxima vez que você construir e implantar seu aplicativo, ele usará o novo sqlite db sem problemas e você não terá que mexer no sistema de arquivos.
fonte
Após o iOS 5 no Mac OS X Lion, você pode tentar:
RemoveSimulatorApps.command
que contenha:PATH
.Premissas
fonte
pode ser um exagero, mas ..
você também pode usar o menu e 'Redefinir conteúdo e configurações ...'
fonte
O que você realmente está tentando fazer é limpar seu banco de dados, caso tenha alterado o esquema. Uma maneira de fazer isso, e ficaria mais feliz no longo prazo, quando você começar a enviar a versão 2.0, 3.0, etc. do seu aplicativo, é verificar a versão da sua tabela sqlite e, se ela mudou, descarte o arquivo antigo e use aquele em seu pacote.
Encontrar uma maneira de limpar o Simulador não ajudará no problema do mundo real de como limpar o iPhone de um cliente quando você envia uma nova versão com um novo esquema.
Para pontos extras, depois de determinar que encontrou um esquema antigo, você pode querer copiar o novo banco de dados sem destruir o antigo e carregar quaisquer dados interessantes do banco de dados antigo para o novo. Em seguida, elimine o banco de dados antigo. Dessa forma, você pode preservar as adições do usuário ao banco de dados.
fonte
para Xcode> = 6
fonte
Se você estiver usando o Xcode 9 -> Barra de menus -> Hardware -> Apagar todo o conteúdo e configurações
fonte
No Xcode 6, você pode fazer isso na linha de comando com: xcrun simctl erase
Além disso, o aplicativo iOS Simulator (a versão do Xcode 6 e versões anteriores) tem um item de menu chamado "Redefinir conteúdo e configurações" que pode ser usado para apagar o dispositivo inicializado no momento.
fonte
Isso funciona com o Xcode 6:
Para .bash_profile
fonte
A partir do Xcode 6:
xcrun simctl erase <sim udid>
<- reinicia o simulador.fonte
Limpar cache do Xcode;
(Use os dois porque têm funcionalidades diferentes)
Limpar conteúdo de dados derivados;
O painel direito mostra o nome da pasta e também o botão excluir no lado direito permite que você exclua todo o conteúdo dos dados derivados.
Limpar Cache do Simulador;
fonte
Como eu estava explicando em um comentário sob a resposta validada :
Eu estava testando a adição e remoção de assinaturas de calendário. Em um dispositivo real, você pode remover uma assinatura de calendário em Configurações , Contas , mas este menu não existe no Simulador iOS e eu não queria redefinir todo o simulador.
Então, acabei criando localmente a versão da minha pasta Device com git e executei os seguintes comandos para remover uma assinatura de calendário depois de adicioná-la:
Portanto, as etapas são:
~/Library/Developer/CoreSimulator/Devices/
e faça umacd
ação nele e, em seguida,git init
crie um repositório gitgit commit -a "Message"
git reset --hard HEAD
git commit
desaparecerão.fonte
No XCode, vá para a opção de menu Window, selecione Devices e então você pode simplesmente deletar aqueles que você não precisa mais.
fonte
Para Xcode <= 5
Eu adicionei o seguinte ao meu
~/.bash_profile
Ele simplesmente destrói todos os aplicativos do sim.
fonte