Frage

Ich entwickle eine iPhone-app verwendet das integrierte SQLite-Datenbank.Ich versuche, die Ansicht und öffnen Sie die Datenbank über die sqlite3 Kommandozeilen-tool, also kann ich das ausführen von beliebigem SQL gegen Sie.

Wenn ich meine app im simulator, die .sqlite Datei erstellt er befindet sich bei ~/Library/Application Support/iPhone Simulator/User/Applications/.

Wie kann ich sehen, dass die Datei auf der physischen iPhone?

War es hilfreich?

Lösung

In Xcode wählt window-> Veranstalter und erweitern Sie den Knoten neben der Anwendung in dem Anwendungsabschnitt auf Ihrem Handy. Wählen Sie den schwarzen nach unten weisender Pfeil neben Anwendungsdaten und speichern Sie die Datei an beliebiger Stelle auf dem Desktop. Ihre SQLite-Datenbank sollte dort irgendwo sein.

Was, wie etwa gehen sie immer auf dem Handy zurück, sobald Sie getan Ich habe keine Ahnung.

Andere Tipps

Anleitung für Xcode 6.0.1

  1. Xcode> Öffnen> IhrProjekt
  2. Xcode> Produkt> Ausführen
  3. Xcode> Fenster> Geräte
  4. (Spalte 1 - wählen) Geräte> YourDeviceName
  5. (Spalte 2 - wählen) Installierte Apps> YourAppName
  6. (Spalte 2 - wählen) Cog unter "Installierte Apps Liste
  7. (Pop-Up - wählen) Download Container ...
  8. Speichern auf Position
  9. Rechtsklick auf 'YourAppName.xcappdata'
  10. Wählen Sie 'Paketinhalt zeigen'
  11. AppData> Dokumente> YourDatabase.sqlite

eingeben Bild Beschreibung hier

In XCode 4, Sie das gleiche tun wie Lounges vorgeschlagen, die die gesamte Dateistruktur für Ihre App zu Ihrem Ziel der Wahl sparen. Benennen Sie die Datei, die .xcappdata gespeichert wird .sqlite so können Sie es öffnen, indem Sie einen Doppelklick, dann können Sie die Datei aus dem Gerät finden.

Dies funktioniert, wenn Sie Ihre iPhone Jailbreak .. Ich weiß nicht, warum jemand irgendwelche Probleme mit Jailbreak ihrem Handy haben würde, wie ich es für die Entwicklung seit geraumer Zeit und hatte keine Probleme verwendet habe, auch ist es nicht für sQLite ungewöhnlich, dass führen anders auf die Gerät vs Simulator:

  1. Jail brechen Sie Ihr Telefon (es Lektionen alle über das Internet)
  2. Stellen Sie Ihre Cydia Benutzerebene Entwickler rel="nofollow
  3. Installieren sqlite3 in Ihrem Telefon: nach Cydia> verwalten> Quellen> Cydia / Telesphoreo> sqlite3
  4. ssh in Ihr Telefon iphone Tunnel root ssh Passwort: "alpine"
  5. Typ which sqlite3, um sicherzustellen, Sie haben es installiert
  6. an den Ort Ihrer db sehen .. ein Haltepunkt in Ihrem Code sollte Ihnen sagen, wo es sich befindet .. in meinem Code es so etwas wie folgt aussieht

    NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex: 0]; 
    NSString *pathName = [documentsDirectory stringByAppendingPathComponent:filename];
    return pathName;
    

    Beachten Sie, dass diese auf dem Simulator laufen .. Sie einen Ort wie folgt erhalten werden: /Users/admin/Library/Application Support/iPhone Simulator/6.0/Applications/42302574-7722-48C1-BE00-91800443DA7C/Documents/email-524200.edb

Auf dem Gerät es wie folgt aussehen: /var/mobile/Applications/FB73857F-A822-497D-A4B8-FBFB269A8699/Documents/email-523600.edb

Dann einfach sqlite3 %dbname% eingeben und Sie können SQL-Anweisungen direkt auf Ihrem Handy ausführen .. ohne sie über das Kopieren oder was auch immer.

Genau auf die gleiche Weise, die Sie auf dem Simulator zu tun. Es gibt sehr wenige (wichtig) Unterschiede zwischen dem Gerät und Simulator und dem Dateizugriff und Laden von Bibliotheken sind zum größten Teil nicht Teil von ihnen.

Ihre Frage bleibt ein wenig vage."Sehen" in welchem Sinne?Erstellen Sie die SQLite-Datenbank?Wie?Haben Sie es manuell in den Simulator-Dateisystem Bereich?Sind Sie vielleicht Fragen, wie zu tun, die auf dem iPhone?

Der einfachste Weg ist, um precreate eine leere Datenbank mit sqlite3 command line tool, haben Sie es als eine Ressource in Ihrer Anwendung haben, dann kopieren Sie Sie in Ihre Anwendung-sandbox-Dokumente-Ordner.Sie können den Pfad zu Ihrem Ordner Ressourcen über NSBundle ist pathForResource:ofType:Methode, dann schnappen Sie sich den Pfad zu Ihrem Ordner "Dokumente" über NSSearchPathForDirectoriesInDomains() für die NSDocumentsDirectory Ordner in der NSUserDomainMask, dann kopieren Sie die Datei über NSFileManager Methoden.

Andernfalls können Sie die Verwendung von SQLite-Funktionen erstellen Sie eine neue Datenbank von Grund auf durch die Bereitstellung geeigneter SQL-Befehle definieren Ihr schema.

Der einfachste Weg, es ist bei weitem zu tun iExplorer nutzt die Datei von Ihrer Anwendung herunterzuladen. und verwenden Sie dann SQLite Professionelle read-only die Datei zu lesen. Auch dachte, es nicht in Echtzeit, aber zumindest ist es frei. : -)

Die Download-Container-Methode ist die, die ich am besten sein gefunden. Allerdings müssen Sie vorsichtig sein, dass einige Male, wenn Sie versuchen, es zu einer E-Mail oder aus der App heraus befestigen dann die Datei, die wäre leer aus gesendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top