Respostas:
A resposta aceita está correta para o SDK 3.2 - O SDK 4 substitui a pasta / User nesse caminho por um número para cada uma das versões herdadas do iPhone OS / iOS que ele pode simular, para que o caminho se torne:
~ / Biblioteca / Suporte a aplicativos / Simulador de iPhone / [versão do SO] / Aplicativos / [appGUID] /
se você tiver o SDK anterior instalado, o simulador 3.1.x continuará salvando seus dados em:
~ / Biblioteca / Suporte a aplicativos / Simulador de iPhone / Usuário / Aplicativos / [appGUID] /
Para Xcode6 e iOS8
~ / Biblioteca / Desenvolvedor / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID] /
po NSHomeDirectory()
o depurador. Recorte e cole em Ir> Ir para a pasta (Cmd-Shift-G).
NSLog
isso em suas AppDelegate
's didFinishLaunchingWithOptions:
, ou você pode po NSHomeDirectory()
a partir do depurador. Em qualquer um dos casos, copie a sequência e abra-a no localizador com Cmd+Shift+G
. Isso funciona melhor porque você está perguntando com um comando padrão em vez de precisar saber algo que muda.
Existe outra maneira (mais rápida?) De descobrir onde estão os dados do seu aplicativo sem o Terminal:
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
dá-lhe o identificador de dispositivo
Encontrei:
~/Library/Application Support/iPhone Simulator/User/
iOS 8 ~ / Biblioteca / Desenvolvedor / CoreSimulator / Dispositivos / [ID do dispositivo] / dados / aplicativos / [appGUID] / Documentos /
xcrun instruments -s
Em Lion, o Users/[username]/Library
está oculto.
Para simplesmente visualizar no Finder, clique no menu 'Ir' na parte superior da tela e mantenha pressionada a tecla 'alt' para mostrar 'Biblioteca'.
Clique em 'Biblioteca' e você poderá ver sua pasta da biblioteca oculta anteriormente.
Aconselhado anteriormente:
Usar
chflags nohidden /users/[username]/library
em um terminal para exibir a pasta.
Pegar um ponto de interrupção em algum lugar.
Entrar po NSHomeDirectory()
na janela do console
(lldb) po NSHomeDirectory () / Usuários / usuário / Biblioteca / Desenvolvedor / CoreSimulator / Devices / 4734F8C7-B90F-4566-8E89-5060505E387F / data / Containers / Data / Application / 395818BB-6D0F-499F-AAFE-068A783D9753
Se o Simulador estiver em execução, você poderá encontrar o caminho para o contêiner de qualquer aplicativo:
xcrun simctl get_app_container booted <app bundle identifier>
Exemplo de saída:
$ xcrun simctl get_app_container booted com.example.app
/Users/jappleseed/Library/Developer/CoreSimulator/Devices/7FB6CB8F-63CB-4F27-BDAB-884814DA6FE0/data/Containers/Bundle/Application/466AE987-76BC-47CF-A207-266E65E7DE0A/example.app
"boot" pode ser substituído pela maioria dos simctl
comandos em qualquer lugar em que um UDID do dispositivo seja esperado.
Você pode ver a lista de dispositivos com xcrun simctl list
e obter ajuda sobre comandos específicos com xcrun simctl help
.
Atualização : Por solicitação popular no Xcode 8.3, agora você pode especificar o tipo de contêiner que deseja, anexando "aplicativo", "dados", "grupos" ou um identificador de grupo de aplicativos.
Para obter o contêiner de dados:
$ xcrun simctl get_app_container booted com.example.app data
Com o Xcode 5, você pode usar o código abaixo:
#import <Foundation/NSFileManager.h>
e:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
O resultado pode parecer com:
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
Onde hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh
está uma sequência hexadecimal que identifica seu aplicativo iOS.
po NSHomeDirectory()
Parece que o Xcode 6.0 mudou esse local mais uma vez, pelo menos para os simuladores do iOS 8.
~ / Biblioteca / Desenvolvedor / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID]
Uma das maneiras mais fáceis de descobrir onde o aplicativo está dentro do simulador. Usuário "NSTemporaryDirectory ()"
Passos-
Quando o aplicativo parar no ponto de interrupção, digite o seguinte comando no console do Xcode.
po NSTemporaryDirectory ()
Veja a imagem abaixo para uma visão adequada
Agora você tem o caminho exato até a pasta temporária. Você pode voltar e ver todas as pastas relacionadas ao aplicativo.
Espero que isso também ajude. Happy Coding :)
po NSHomeDirectory()
?
$ open /Library/Developer/CoreSimulator/Profiles/Runtimes
Por exemplo: iOS 13.0
, watchOS 6.0
Estes têm mais espaço, de longe. Cada um pode ter até ~ 5 GB
$ open ~/Library/Developer/CoreSimulator/Devices
Por exemplo: iPhone Xr
, iPhone 11 Pro Max
. Estes são tipicamente <15 mb cada.
Os simuladores são divididos entre tempos de execução e dispositivos. Se você executar, $ xcrun simctl list
poderá ver uma visão geral, mas se quiser encontrar a localização física desses simuladores, consulte os diretórios que mostrei.
É totalmente seguro excluir tempos de execução que você não suporta. Você pode reinstalá-los posteriormente, se desejar.
Simplesmente faça o seguinte:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
E você terá algo assim:
/ Usuários / admin / Biblioteca / Desenvolvedor / CoreSimulator / Devices / 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 / data / Containers / Data / Application / 6F3B985F-351E-468F-9CFD-BCBE217A25FB / Documents
Vá para lá e você verá a pasta de documentos do seu aplicativo, independentemente da versão do XCode. (Use o comando "Ir para a pasta ..." no Finder e especifique um caminho "~ / library").
Versão Swift para o caminho da string:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
e URL da pasta:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
Para o Xcode 4.6, ele é armazenado no seguinte caminho ...
/ Usuários / [currentuser] / Biblioteca / Suporte a aplicativos / iPhone Simulator / 6.1 / Aplicativos /
Para conhecê-lo programaticamente, use o seguinte código
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
print("path: \(NSBundle.mainBundle().bundlePath)")
Para iOS 8
Para localizar a pasta Documentos , você pode escrever um arquivo na pasta Documentos:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Words.txt"];
NSString *content = @"Apple";
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];
digamos, em didFinishLaunchingWithOptions
.
Então você pode abrir um terminal e encontrar a pasta:
$ find ~/Library -name Words.txt
se alguém ainda está enfrentando esse problema no lion, há um ótimo artigo com 19 dicas diferentes para visualizar o diretório ~ / Library. encontre o artigo de Dan Frakes aqui http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
Lembre-se de que o diretório do simulador é fornecido abaixo
~ / Biblioteca / Suporte a aplicativos / Simulador de iPhone / Usuário /
Para o macOS Catalina, encontrei meu banco de dados em:
~/Library/Developer/CoreSimulator/Devices/{deviceId}/data/Containers/Data/Application/{applicationId}/Documents/my.db
Para obtê-lo applicationId
, apenas classifiquei as pastas por data de modificação, embora tenha certeza de que há uma maneira melhor de fazer isso.
Para usuários nativos de reação que não usam o Xcode com frequência, basta usar find
. Abra um terminal e pesquise com o nome do banco de dados.
$ find ~/Library/Developer -name 'myname.db'
Se você não souber o nome exato, poderá usar caracteres curinga:
$ find ~/Library/Developer -name 'myname.*'
Você pode tentar usar o código abaixo
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
Para abrir os ditames onde você cria o aplicativo no xCode nos simuladores, faça o seguinte:
Não tenho afiliação com este programa, mas se você deseja abrir algo disso no localizador, o SimPholders torna incrivelmente fácil.
cd ~/Library/Application\ Support/iPhone\ Simulator/