·5 min de lecture

Navigateur SQLite pour développeurs iOS sur Mac

Le développement iOS implique de vérifier constamment ce que votre app a écrit dans sa base de données locale. Xcode n'a pas de visualiseur SQLite intégré, vous laissant assembler un workflow entre Terminal et outils tiers.

Vous développez une app iOS qui utilise Core Data ou du SQLite brut pour la persistance. Quelque chose semble incorrect dans l'interface — peut-être qu'une liste ne se remplit pas, ou qu'une valeur paraît obsolète. Vous devez vérifier la base de données. Xcode propose un éditeur de modèle de données et un profileur Instruments, mais aucun des deux ne vous montre les lignes réelles présentes dans le fichier SQLite. Vous ouvrez donc le Terminal, cherchez le chemin du conteneur du Simulateur, et commencez à exécuter des requêtes SELECT * contre des tables préfixées par Z. Ce workflow casse votre concentration à chaque fois.

Le problème de base de données du développeur iOS

Chaque exécution du Simulateur iOS stocke ses données sous ~/Library/Developer/CoreSimulator/Devices/, nichée dans un répertoire nommé par UUID. Le chemin change quand vous réinitialisez le simulateur ou changez d'appareil. Même si vous mettez l'emplacement en favori, la prochaine mise à jour de Xcode pourrait tout redistribuer. Trouver le bon fichier .sqlite représente la moitié de la bataille.

Une fois localisé, la CLI sqlite3 vous donne un résultat en texte brut. Les noms de tables et de colonnes préfixés par Z de Core Data rendent les requêtes manuelles confuses. Il n'y a pas d'auto-complétion pour les noms de colonnes, pas de grille visuelle pour parcourir les lignes, et aucun moyen de modifier rapidement une valeur de test sans écrire une instruction UPDATE complète. La plupart des développeurs perdent plusieurs minutes dans cette danse, plusieurs fois par jour.

Des outils tiers comme DB Browser for SQLite fonctionnent mais semblent étrangers sur macOS — interfaces basées sur Qt avec de mauvais raccourcis clavier et des boîtes de dialogue de fichiers non natives. DBeaver et DataGrip sont des IDE de base de données complets, excessifs pour inspecter un fichier SQLite local.

Tome : un navigateur SQLite conçu pour votre workflow Mac

Tome est un navigateur SQLite natif pour macOS qui s'intègre naturellement au workflow d'un développeur iOS. Ouvrez le fichier .sqlite du Simulateur et voyez instantanément chaque table, vue et index. Parcourez les tables préfixées par Z de Core Data dans une grille défilante. Modifiez les valeurs directement pour préparer des scénarios de test sans écrire de SQL.

Tome parcourant la base de données SQLite d'une app iOS sur Mac

Inspectez visuellement les stockages Core Data

Les tables SQLite de Core Data utilisent des noms préfixés par Z difficiles à analyser dans le Terminal. Dans Tome, chaque table apparaît dans la barre latérale — cliquez sur l'une d'elles et voyez toutes les lignes avec des colonnes correctement alignées. Faites correspondre les tables ZUSER et ZPOST à votre modèle d'objets géré d'un coup d'œil.

Modifiez les données de test sans reconstruire

Besoin de changer une valeur pour reproduire un bug ? Cliquez sur la cellule dans Tome et tapez la nouvelle valeur. Pas besoin d'écrire une instruction UPDATE ou de relancer la logique d'amorçage de votre app. Insérez des lignes pour tester des cas limites ou supprimez des enregistrements pour simuler un état vierge.

Exécutez des requêtes de diagnostic

L'éditeur SQL de Tome, avec coloration syntaxique et auto-complétion, vous permet d'écrire des jointures, des agrégations et des requêtes filtrées contre les données de votre app. Vérifiez les relations, comptez les enregistrements, ou cherchez des valeurs spécifiques — le tout sans quitter l'app.

Obtenez Tome sur le Mac App Store

Article suivant

Tome

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

Get Tome on the Mac App Store