·5 min leestijd

SQLite-browser voor iOS-ontwikkelaars op Mac

iOS-ontwikkeling betekent voortdurend controleren wat je app naar zijn lokale database heeft geschreven. Xcode heeft geen ingebouwde SQLite-viewer, waardoor jij zelf een workflow moet samenstellen uit Terminal en tools van derden.

Je bouwt een iOS-app die Core Data of ruwe SQLite gebruikt voor opslag. Iets ziet er verkeerd uit in de UI — misschien wordt een lijst niet gevuld, of lijkt een waarde verouderd. Je moet de database controleren. Xcode biedt een datamodeleditor en een Instruments-profiler, maar geen van beide toont je de daadwerkelijke rijen in het SQLite-bestand. Dus open je Terminal, spoor je het containerpad van de Simulator op en begin je SELECT *-queries uit te voeren tegen Z-voorvoegde tabellen. Deze workflow onderbreekt elke keer je concentratie.

Het databaseprobleem van de iOS-ontwikkelaar

Elke iOS Simulator-run slaat zijn data op onder ~/Library/Developer/CoreSimulator/Devices/, genest in een map met UUID-naam. Het pad verandert wanneer je de simulator reset of van apparaat wisselt. Zelfs als je de locatie als bladwijzer opslaat, kan de volgende Xcode-update alles door elkaar husselen. Het juiste .sqlite-bestand vinden is de halve strijd.

Zodra je het gevonden hebt, geeft de sqlite3 CLI je ruwe tekstoutput. Core Data's Z-voorvoegde tabel- en kolomnamen maken handmatige queries verwarrend. Er is geen auto-aanvulling voor kolomnamen, geen visueel raster om rijen te overzien, en geen manier om snel een testwaarde te bewerken zonder een volledige UPDATE-statement te schrijven. De meeste ontwikkelaars verspillen hier meerdere keren per dag minuten aan.

Tools van derden zoals DB Browser for SQLite werken, maar voelen vreemd aan op macOS — Qt-gebaseerde interfaces met verkeerde sneltoetsen en niet-native bestandsdialogen. DBeaver en DataGrip zijn volledige database-IDE's, overkill voor het inspecteren van een lokaal SQLite-bestand.

Tome: een SQLite-browser gebouwd voor jouw Mac-workflow

Tome is een native macOS SQLite-browser die natuurlijk past in de workflow van een iOS-ontwikkelaar. Open het .sqlite-bestand van de Simulator en zie direct elke tabel, view en index. Blader door Core Data's Z-voorvoegde tabellen in een scrollbaar raster. Bewerk waarden inline om testscenario's op te zetten zonder SQL te schrijven.

Tome browsing an iOS app's SQLite database on Mac

Inspecteer Core Data-opslag visueel

Core Data's SQLite-tabellen gebruiken Z-voorvoegde namen die moeilijk te ontcijferen zijn in Terminal. In Tome verschijnt elke tabel in de zijbalk — klik op één en zie alle rijen met correct uitgelijnde kolommen. Koppel ZUSER- en ZPOST-tabellen in één oogopslag terug aan je managed object model.

Bewerk testdata zonder opnieuw op te bouwen

Moet je een waarde wijzigen om een bug te reproduceren? Klik op de cel in Tome en typ de nieuwe waarde. Geen UPDATE-statement nodig, geen seedlogica van je app opnieuw uitvoeren. Voeg rijen in om randgevallen te testen of verwijder records om een schone staat te simuleren.

Voer diagnostische queries uit

Met Tome's SQL-editor met syntaxismarkering en auto-aanvulling schrijf je joins, aggregaties en gefilterde queries tegen de data van je app. Verifieer relaties, tel records of zoek naar specifieke waarden — allemaal zonder de app te verlaten.

Haal Tome in de Mac App Store

Volgend artikel

Tome

Browse, query, and edit SQLite databases in a native Mac app.

Get Tome on the Mac App Store