·4분 읽기

Mac에서 앱의 데이터베이스를 검사하는 방법

Mac의 앱들은 Library 폴더 깊숙이 숨겨진 SQLite 파일에 데이터를 저장합니다. 앱이 실제로 저장한 것을 검사하려면 컨테이너 경로를 탐색하고 원시 데이터베이스 출력을 해독해야 합니다.

메모, 북마크, 메시지, 건강 기록, 할 일 목록 등 데이터를 로컬에 영속화하는 Mac의 모든 앱은 아마 ~/Library/~/Library/Containers/ 안에 숨겨진 SQLite 데이터베이스에 그 데이터를 저장하고 있을 것입니다. 어떤 앱이 수집한 데이터를 보고 싶을 수도 있습니다. UI에서 삭제된 무언가를 복구해야 할 수도 있습니다. 자신의 앱을 디버깅하며 실제로 디스크에 무엇이 기록되었는지 확인해야 할 수도 있습니다. 이유가 무엇이든 macOS는 이런 파일을 시각적으로 검사할 내장 방법을 제공하지 않습니다.

앱 데이터베이스를 찾고 여는 것은 번거롭습니다

먼저 파일을 찾아야 합니다. 샌드박스 앱은 ~/Library/Containers/com.developer.appname/Data/에 데이터를 저장하고, 샌드박스가 아닌 앱은 ~/Library/Application Support/를 사용할 수 있습니다. Library 폴더는 기본적으로 숨겨져 있어서 Finder의 "폴더로 이동"을 사용하거나 터미널을 통해 이동해야 합니다. .sqlite나 .db 파일을 찾은 후에는 터미널에서 sqlite3를 사용해 시각적 구조 없이 원시 쿼리 출력을 읽는 수밖에 없습니다.

시뮬레이터에서 실행되는 iOS 앱의 경우 경로는 더욱 깊습니다: ~/Library/Developer/CoreSimulator/Devices/ 다음에 UUID, 그리고 앱의 Documents나 Library 폴더로 이어지는 또 다른 중첩 경로. 수십 개의 시뮬레이터 기기 폴더 중에서 올바른 데이터베이스를 찾는 것은 보물찾기와 같습니다.

Tome으로 어떤 앱 데이터베이스든 검사하기

Tome을 사용하면 어떤 SQLite 데이터베이스 파일이든 열어서 즉시 내용을 확인할 수 있습니다 — 테이블, 뷰, 인덱스, 트리거, 행 데이터가 네이티브 macOS 인터페이스로 표시됩니다. 파일을 찾았다면 Tome에 드래그하거나 파일 → 열기를 사용하세요.

Tome inspecting an app's SQLite database on Mac

앱이 무엇을 저장하는지 이해하기

모든 테이블을 탐색해 앱이 정확히 어떤 데이터를 영속화하는지 확인하세요. 열 이름은 스키마 설계를 드러냅니다. 행 데이터는 실제 값을 보여줍니다. 추측도, 터미널 명령도 필요 없습니다 — 사이드바에서 테이블을 클릭하고 내용을 스크롤하기만 하면 됩니다.

자신의 앱 데이터 계층 디버깅하기

SQLite나 Core Data를 사용하는 macOS나 iOS 앱을 개발 중이라면, Tome을 통해 데이터가 올바르게 기록되었는지 확인할 수 있습니다. 관계가 온전한지 확인하고, 자동 생성된 열을 검사하고, 구문 강조와 자동완성으로 진단 쿼리를 실행하세요.

데이터 복구 또는 내보내기

앱의 UI에서는 삭제되었지만 데이터베이스에는 여전히 남아 있을 수 있는 레코드가 필요하신가요? Tome에서 파일을 열고 관련 테이블을 검색하세요. 데이터가 존재한다면 직접 읽거나 SQL 쿼리로 필요한 것을 정확히 추출할 수 있습니다.

Mac App Store에서 Tome 받기

다음 기사

Tome

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

Get Tome on the Mac App Store