·5 мин. чтения

Браузер SQLite для разработчиков iOS на Mac

Разработка iOS означает постоянную проверку того, что ваше приложение написало в свою локальную базу данных. Xcode не имеет встроенного средства просмотра SQLite, оставляя вас со сборкой рабочего процесса из Терминала и сторонних инструментов.

Вы разрабатываете приложение iOS, которое использует Core Data или raw SQLite для постоянного хранения. Что-то выглядит неправильно в пользовательском интерфейсе — может быть, список не заполняется или значение кажется устаревшим. Вам нужно проверить базу данных. Xcode предлагает редактор модели данных и профайлер Instruments, но ни один не показывает вам фактические строки, сидящие в файле SQLite. Поэтому вы открываете Терминал, охотитесь за путём контейнера Simulator и начинаете запускать SELECT * запросы против таблиц Z-префиксированных. Этот рабочий процесс нарушает вашу концентрацию каждый раз.

Проблема разработчика iOS с базой данных

Каждый запуск iOS Simulator хранит свои данные под ~/Library/Developer/CoreSimulator/Devices/, вложенным внутри UUID-именованного каталога. Путь изменяется, когда вы перезагружаете симулятор или переключаетесь на устройства. Даже если вы добавите в закладки местоположение, следующее обновление Xcode может перетасовать вещи. Поиск нужного файла .sqlite — это половина боя.

Как только вы его найдёте, CLI sqlite3 даёт вам сырой текстовый вывод. Таблицы и имена столбцов Core Data с префиксом Z затрудняют ручные запросы. Нет автодополнения имён столбцов, нет визуальной сетки для сканирования строк и нет способа быстро отредактировать тестовое значение без написания полного оператора UPDATE. Большинство разработчиков тратят минуты на эту танец много раз в день.

Сторонние инструменты вроде DB Browser for SQLite работают, но кажутся чужеродными на macOS — интерфейсы на базе Qt с неправильными сочетаниями клавиш и не-нативными диалогами файлов. DBeaver и DataGrip — это полные IDE баз данных, избыточно для проверки локального файла SQLite.

Tome: браузер SQLite, встроенный в ваш рабочий процесс Mac

Tome — это нативный браузер SQLite для macOS, который естественно подходит в рабочий процесс разработчика iOS. Откройте файл .sqlite Simulator и сразу увидите каждую таблицу, представление и индекс. Просмотрите таблицы Z-префиксированные Core Data в прокручиваемой сетке. Редактируйте значения встроенно, чтобы установить тестовые сценарии без написания SQL.

Tome, просматривающий базу данных SQLite приложения iOS на Mac

Проверьте хранилища Core Data визуально

Таблицы SQLite Core Data используют имена с префиксом Z, которые сложно разобрать в Терминале. В Tome каждая таблица появляется в боковой панели — нажмите на одну и увидите все строки с правильно выровненными столбцами. Сопоставьте таблицы ZUSER и ZPOST обратно вашей управляемой модели объекта с первого взгляда.

Редактируйте тестовые данные без перестроения

Нужно изменить значение, чтобы воспроизвести ошибку? Нажмите на ячейку в Tome и введите новое значение. Нет необходимости писать оператор UPDATE или повторно запускать логику seeding вашего приложения. Вставляйте строки для тестирования граничных случаев или удаляйте записи для имитации чистого состояния.

Запускайте диагностические запросы

Редактор SQL Tome с подсветкой синтаксиса и автодополнением позволяет вам писать объединения, агрегации и фильтруемые запросы против данных вашего приложения. Проверьте отношения, посчитайте записи или поищите конкретные значения — всё без покидания приложения.

Получите Tome в Mac App Store

Следующая статья

Tome

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

Get Tome on the Mac App Store