Antworten:
Die akzeptierte Antwort ist für SDK 3.2 korrekt. - SDK 4 ersetzt den Ordner / User in diesem Pfad durch eine Nummer für jede der älteren iPhone OS / iOS-Versionen, die simuliert werden können. Der Pfad lautet also:
~ / Bibliothek / Anwendungsunterstützung / iPhone Simulator / [Betriebssystemversion] / Anwendungen / [AppGUID] /
Wenn Sie das vorherige SDK nebenan installiert haben, speichert der 3.1.x-Simulator die Daten weiterhin in:
~ / Bibliothek / Anwendungsunterstützung / iPhone Simulator / Benutzer / Anwendungen / [appGUID] /
Für Xcode6 und iOS8
~ / Bibliothek / Entwickler / CoreSimulator / Geräte / [Geräte-ID] / Daten / Container / Daten / Anwendung / [AppID] /
po NSHomeDirectory()
den Debugger ein. Ausschneiden und Einfügen in Gehe zu> Gehe zu Ordner (Cmd-Shift-G).
NSLog
dies in Ihrem AppDelegate
‚s didFinishLaunchingWithOptions:
, oder Sie können po NSHomeDirectory()
aus dem Debugger. Kopieren Sie in beiden Fällen die Zeichenfolge und öffnen Sie sie im Finder mit Cmd+Shift+G
. Dies funktioniert besser, weil Sie mit einem Standardbefehl fragen, anstatt etwas wissen zu müssen, das sich ändert.
Es gibt eine andere (schnellere?) Möglichkeit, herauszufinden, wo sich Ihre App-Daten ohne Terminal befinden:
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
gibt Ihnen die Gerätekennung
Fand es:
~/Library/Application Support/iPhone Simulator/User/
iOS 8 ~ / Bibliothek / Entwickler / CoreSimulator / Geräte / [Geräte-ID] / Daten / Anwendungen / [AppGUID] / Dokumente /
xcrun instruments -s
Auf Lion Users/[username]/Library
ist das versteckt.
Um einfach im Finder anzuzeigen, klicken Sie oben auf dem Bildschirm auf das Menü "Los" und halten Sie die Alt-Taste gedrückt, um "Bibliothek" anzuzeigen.
Klicken Sie auf "Bibliothek" und Sie können Ihren zuvor ausgeblendeten Bibliotheksordner sehen.
Zuvor empfohlen:
Verwenden
chflags nohidden /users/[username]/library
in einem Terminal, um den Ordner anzuzeigen.
Fangen Sie irgendwo einen Haltepunkt.
Geben Sie po NSHomeDirectory()
in Konsolenfenster
(lldb) po NSHomeDirectory () / Benutzer / Benutzername / Bibliothek / Entwickler / CoreSimulator / Geräte / 4734F8C7-B90F-4566-8E89-5060505E387F / Daten / Container / Daten / Anwendung / 395818BB-6D0F-499F-AAFE-068A783D9
Wenn der Simulator ausgeführt wird, können Sie den Pfad zum Container einer beliebigen App abrufen:
xcrun simctl get_app_container booted <app bundle identifier>
Beispielausgabe:
$ 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
"gebootet" kann durch die meisten ersetzt werden simctl
Befehle überall dort eingesetzt werden, wo eine Geräte-UDID erwartet wird.
Sie können die Liste der Geräte mit anzeigen xcrun simctl list
und Hilfe zu bestimmten Befehlen mit erhaltenxcrun simctl help
.
Aktualisieren : Auf vielfachen Wunsch in Xcode 8.3 können Sie jetzt die Art des gewünschten Containers angeben, indem Sie "App", "Daten", "Gruppen" oder eine App-Gruppen-ID anhängen.
So erhalten Sie den Datencontainer:
$ xcrun simctl get_app_container booted com.example.app data
Mit Xcode 5 können Sie den folgenden Code verwenden:
#import <Foundation/NSFileManager.h>
und:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
Das Ergebnis könnte folgendermaßen aussehen:
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
Wo hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh
ist eine Hex-Zeichenfolge, die Ihre iOS-App identifiziert?
po NSHomeDirectory()
Anscheinend hat Xcode 6.0 diesen Speicherort erneut verschoben, zumindest für iOS 8-Simulatoren.
~ / Bibliothek / Entwickler / CoreSimulator / Geräte / [Geräte-ID] / Daten / Container / Daten / Anwendung / [AppID]
Eine der einfachsten Möglichkeiten, um herauszufinden, wo sich die App im Simulator befindet. Benutzer "NSTemporaryDirectory ()"
Schritte-
Wenn die App am Haltepunkt stoppt, geben Sie den folgenden Befehl in die Xcode-Konsole ein.
po NSTemporaryDirectory ()
Siehe das folgende Bild für einen richtigen Einblick
Jetzt haben Sie den genauen Pfad zum temporären Ordner. Sie können zurückgehen und alle App-bezogenen Ordner anzeigen.
Hoffe das hilft auch. Viel Spaß beim Codieren :)
po NSHomeDirectory()
?
$ open /Library/Developer/CoreSimulator/Profiles/Runtimes
Zum Beispiel: iOS 13.0
, watchOS 6.0
nehmen diese den meisten Platz, bei weitem. Jeder kann bis zu ~ 5 GB groß sein
$ open ~/Library/Developer/CoreSimulator/Devices
Zum Beispiel: iPhone Xr
, iPhone 11 Pro Max
. Diese sind typischerweise jeweils <15 MB.
Simulatoren werden zwischen Laufzeiten und Geräten aufgeteilt. Wenn Sie ausführen $ xcrun simctl list
, sehen Sie eine Übersicht. Wenn Sie jedoch den physischen Standort dieser Simulatoren ermitteln möchten, schauen Sie in die von mir gezeigten Verzeichnisse.
Es ist absolut sicher, nicht unterstützte Laufzeiten zu löschen. Sie können diese später neu installieren, wenn Sie möchten.
Mach das einfach:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
Und Sie werden so etwas bekommen:
/ Benutzer / admin / Bibliothek / Entwickler / CoreSimulator / Geräte / 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 / Daten / Container / Daten / Anwendung / 6F3B985F-351E-468F-9CFD-BCBE217A25FB / Dokumente
Wenn Sie dorthin gehen, wird der Dokumentordner Ihrer App unabhängig von der Version von XCode angezeigt. (Verwenden Sie den Befehl "Gehe zu Ordner ..." im Finder und geben Sie einen Pfad "~ / library" an.)
Schnelle Version für String-Pfad:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
und Ordner-URL:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
Für Xcode 4.6 wird es im folgenden Pfad gespeichert ...
/ Benutzer / [aktueller Benutzer] / Bibliothek / Anwendungsunterstützung / iPhone Simulator / 6.1 / Anwendungen /
Um es programmgesteuert zu kennen, verwenden Sie den folgenden Code
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
print("path: \(NSBundle.mainBundle().bundlePath)")
Für iOS 8
Um den Ordner " Dokumente" zu suchen, können Sie eine Datei in den Ordner "Dokumente" schreiben:
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];
sagen, in didFinishLaunchingWithOptions
.
Dann können Sie ein Terminal öffnen und den Ordner suchen:
$ find ~/Library -name Words.txt
Wenn bei lion dieses Problem immer noch auftritt, gibt es einen großartigen Artikel mit 19 verschiedenen Tipps zum Anzeigen Ihres ~ / Library-Verzeichnisses. Den Artikel von Dan Frakes finden Sie hier http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
Denken Sie daran, dass das Verzeichnis zum Simulator unten angegeben ist
~ / Bibliothek / Anwendungsunterstützung / iPhone Simulator / Benutzer /
Für macOS Catalina habe ich meine Datenbank gefunden in:
~/Library/Developer/CoreSimulator/Devices/{deviceId}/data/Containers/Data/Application/{applicationId}/Documents/my.db
Um das zu bekommen applicationId
, habe ich die Ordner nur nach dem Änderungsdatum sortiert, obwohl ich sicher bin, dass es einen besseren Weg gibt, dies zu tun.
Für reaktionsnative Benutzer, die Xcode nicht oft verwenden, können Sie einfach verwenden find
. Öffnen Sie ein Terminal und suchen Sie nach dem Datenbanknamen.
$ find ~/Library/Developer -name 'myname.db'
Wenn Sie den genauen Namen nicht kennen, können Sie Platzhalter verwenden:
$ find ~/Library/Developer -name 'myname.*'
Sie können versuchen, den folgenden Code zu verwenden
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
Gehen Sie wie folgt vor, um die Diktaturen zu öffnen, in denen sich Ihre App befindet und die Sie in xCode auf den Simulatoren erstellen:
Ich bin nicht mit diesem Programm verbunden, aber wenn Sie etwas davon im Finder SimPholders öffnen möchten, ist dies unglaublich einfach.
cd ~/Library/Application\ Support/iPhone\ Simulator/