In der Regel befindet sich die SQLite-Speicherdatei für Kerndaten-Apps in
Bibliothek> Anwendungsunterstützung> iPhone Simulator> 7.1 (oder die von Ihnen verwendete Version)> Anwendungen> (Welcher Ordner auch immer Ihre App enthält)> Dokumente
Ordner, aber ich kann es nicht in IOS 8 finden. Ich würde annehmen, dass sie nur einen 8.0-Ordner im iPhone Simulator-Ordner hinzufügen würden, aber es ist nicht da. Hat es jemand gefunden?
Antworten:
Ich habe es geschafft, die SQLite-Datei zu finden, und sie befindet sich jetzt in diesem Pfad:
(Zahlen und Buchstaben) steht für einen Ordner, der für Ihre App / Ihren Computer eindeutig ist, aber folgendermaßen aussieht: 779AE2245-F8W2-57A9-8C6D-98643B1CF01A
Ich konnte es finden, indem ich in appDelegate.m nach unten zu scrollen
Methode und NSLogging des Rückweges wie folgt:
Dies gibt Ihnen Ihren eindeutigen Pfad und erleichtert Ihnen das Auffinden, da es schwierig ist, ihn mit den 2 unbenannten Ordnern / Zeichenfolgen aus Buchstaben und Zahlen zu finden.
Swift 4.2:
quelle
xcrun simctl list
diese Option , um die Liste der Simulatornamen und ihrer UUIDs abzurufen.Library/Developer/CoreSimulator/Devices/(numbers and letters)/data/Containers/Data/Application/(numbers and letters)/Documents/
ist nicht mehr wahr. Jetzt finden Sie die .sqlite und verwandte zwei Dateien inLibrary/Developer/CoreSimulator/Devices/(numbers and letters)/data/Containers/Data/Application/(numbers and letters)/Library/Application Support/
Keine der Antworten erwähnte den einfachsten Weg, um den Speicherort der DB-Datei tatsächlich zu ermitteln.
Sie müssen nicht einmal Ihren Quellcode ändern, da dies eine einfache Laufzeitumschaltung in XCode ist.
Wählen Sie neben der Schaltfläche Ausführen die Option Schema bearbeiten.
Wählen Sie Ausführen / Argumente und fügen Sie die folgenden zwei Optionen hinzu:
Führen Sie die App aus und Sie sehen in den Protokollen:
quelle
Versuchen Sie diesen einfachen 3 Schritt
Kopieren Sie den folgenden Code in
didFinishLaunchingWithOptions
Ihrenappdelegate.m
und fügen Sie vor dem einen Haltepunkt hinzuNSLog()
Oder in Swift:
2.Öffnen Sie den Finder-> Los -> Gehen Sie zum Ordner und fügen Sie den aus Schritt 1 kopierten Pfad ein
3. Yah !!! Sie befinden sich an Ihrem Ziel.
quelle
Wenn Ihre App Core Data verwendet, müssen Sie nur im Terminal nach der SQLite-Datei suchen:
In den Ergebnissen wird der vollständige Pfad zu den Simulatorordnern aufgeführt, die Ihre App enthalten.
quelle
alias myapp_simulator_db="find ~/Library/Developer/CoreSimulator/Devices -name MyApp.sqlite"
. Dies ist praktisch, wenn Sie diesen Befehl wiederholt ausführen müssen.Ich habe diesen Einzeiler ( Gist ) gehackt :
find ~/Library/Developer/CoreSimulator/Devices/ -name device.plist -exec sh -c "/usr/libexec/PlistBuddy -c \"print UDID\" '{}' | tr '\n' ' '" \; -exec sh -c "/usr/libexec/PlistBuddy -c \"print name\" '{}' | tr '\n' ' '" \; -exec sh -c "/usr/libexec/PlistBuddy -c \"print runtime\" '{}' | sed -n 's/com\.apple\.CoreSimulator.SimRuntime\.\(.*\)/\1/p'" \;
Dies druckt:
Aktualisieren:
Wie hier jemand betont hat , ist es auch möglich zu rennen
xcrun simctl list devices
, um ein ähnliches Ergebnis zu erzielen :quelle
Wenn Sie Swift verwenden , wird der absolute Pfad des Dokumentverzeichnisses zurückgegeben:
quelle
Ich habe ein Bash-Skript geschrieben, um den Speicherort Ihres Anwendungsordners und des Anwendungsdatenordners in einem Simulator zu ermitteln. Sie können es hier herunterladen . Sobald Sie das Skript entpackt haben, können Sie zu dem Ordner navigieren, in dem sich das Skript befindet, und es verwenden. Wenn Sie es ohne Optionen aufrufen, erhalten Sie eine Liste der installierten iOS-Simulatoren. Sie können dann die Optionen verwenden, um Ihr Programm zu finden. Schreiben:
Auf dem iPad Air iOS 8-Simulator finden Sie den Anwendungsordner und den Home-Bereich-Ordner für Ihre App. Hier ist ein Beispiel:
Aktualisieren
Es gibt ein Update des ursprünglichen Skripts, mit dem Sie anhand des Gerätetyps mit der Option -d suchen können. Ich habe auch ein anderes Skript geschrieben, das eine Reihe von Ordnern mit vernünftigen Namen erstellt, damit Sie Ihre Bewerbung und Bewerbungsunterlagen finden können. Mit diesem Skript wird ein Ordner mit dem Namen iOS_SIMULATORS in Ihrem Heimatbereich erstellt, und Sie können von dort aus problemlos zu Ihrer Anwendung navigieren.
quelle
Ich konnte den Simulatorordner mit der nächsten Konsolenausgabe finden:
in meinem Fall war es (Xcode 6 Beta)
quelle
Basierend auf Michaels Antworten ist dies für Swift 3
quelle
Für Swift 3.0
Sie können den Speicherort von Coredata in Xcode 8.2 abrufen
quelle
Nach neuen Updates von Xcode stellte ich fest, dass die SQL-Dateien jetzt in einem neuen Ordner gespeichert sind.
/Library/Application Support
Dies könnte eine einzigartige Situation sein. Wenn Sie die SQL-Dateien jedoch nicht im Dokumentordner gefunden haben, suchen Sie sie hier:~/Library/Developer/CoreSimulator/Devices/[@device_id@]/data/Containers/Data/Application/[@application_id@]/Library/Application Support/
bevor es im
Documents
Ordner gespeichert wurde :~/Library/Developer/CoreSimulator/Devices/[@device_id@]/data/Containers/Data/Application/[@application_id@]/Documents/
quelle
Für SWIFT 3:
Kopieren Sie diesen Code in didFinishLaunchingWithOptions
quelle
Für schnelle 3
quelle
Wie James Snook habe ich mein eigenes Skript erstellt, um den Zugriff auf die Simulator-Apps zu erleichtern. Ich denke, es kann für viele Leute nützlich sein, die hierher kommen, außer für mich.
Im Gegensatz zu seinem Skript ist meins kein Suchwerkzeug, es erstellt eine vollständige (und für Menschen lesbare) Ordnerstruktur mit allen Geräten / Laufzeiten und fügt weiche Links zu den darin enthaltenen Apps hinzu.
Sie können es in diesem Kern bekommen .
Führen Sie es jedes Mal aus, wenn Sie eine App im Simulator installieren, oder führen Sie es einfach jedes Mal aus, wenn Sie eine App aus irgendeinem Grund abrufen (es wird aktualisiert und der Geräteordner im Finder geöffnet).
quelle
Wenn Sie kein Verzeichnis angegeben haben, können Sie den folgenden Code verwenden, um das Standardverzeichnis zu drucken:
print (NSPersistentContainer.defaultDirectoryURL ())
quelle
Für
iOS 10.0+
Sie können verwendenpersistentContainer.persistentStoreCoordinator.persistentStores.first?.url
Ich habe die Utility-Funktion erstellt, die die SQLite-Datei an den gewünschten Speicherort kopiert (funktioniert nur für den Simulator).
Sie können es wie verwenden
Wenn Sie bereits auf SQLite-, SHM- und Wal-Dateien zugreifen können, führen Sie die Befehle im Terminal aus, um die WAL-Datei mit der SQLite-Datei zusammenzuführen.
Nachdem Sie die obigen Befehle ausgeführt haben, können Sie die Daten in Ihrer SQLite-Datei anzeigen.
Hier ist die Definition der Dienstprogrammmethode für schnell
Zum Ziel c
quelle
Swift 3.x.
Finde didFinishLaunchingWithOptions funktioniert in Ihrer AppDelegate Datei und hinter diesem Code gibt.
quelle
Swift 4.x.
quelle
Swift 4.2
quelle
Sie können folgenden Code verwenden.
Der Speicherort des persistenten Kerndatenspeichers, z. B. SQLite, wird gedruckt
quelle