2010-10-26 2 views
10

Я создал приложение, которое использует основные данные. Есть ли способ просмотра sqlite db на симуляторе? Возможно, инструмент, который позволяет запрашивать sqlite db на симуляторе? Как браузер данных?Симулятор данных ядра IPhone

Есть ли способ просмотреть симулятор iphone для местоположения базы данных sqlite?

ответ

11

Xcode 5

Я скачал пробную версию Base и был в состоянии указать это на .sql базе данных от имитатора через:

/Macintosh HD/Users/"имя пользователя"/Library/Application Поддержка/iPhone Simulator/«текущая версия разработки iOS»/Приложения/

Имена папок для приложений не читаются, но если вы нажмете на эту папку, вы сможете увидеть содержимое со знакомыми именами.

Xcode 6+

Это было изменено в Xcode 6, и теперь находится в ~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Appl‌​action, где сама база данных может быть найден в каталоге документов <app-id>/Documents/<name>.sqlite

+4

Неверное изображение XCode 6+. Посмотрите в '~/Библиотека/Разработчик/CoreSimulator/Devices//data/Containers/Data/Application' – djbp

+0

Кто-нибудь знает, как получить внутри xCode? – WINSergey

1

Если у вас есть свободный sqlite3 установлен, вы можете сделать это в командной строке, выполнив:

/Users/<user>/Library/Application\ Support/iPhone\ Simulator/<sim_version>/Applications/<apphash>/Documents/<yourfile> 

Самый простой способ узнать, какие хеш-функции вы должны заглянуть в:

ls -lt /Users/<user>/Library/Application\ Support/iPhone\ Simulator/<sim_version>/Applications/ 

Вы можете запустите .tables в приглашении, чтобы посмотреть, какие таблицы есть, и .schema <tablename>, чтобы проверить его столбцы.

14

С Xcode 6, имитатор базового каталога можно найти здесь:

~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Application 

Затем, сама база данных может быть найден в каталоге документов:

<app-id>/Documents/<name>.sqlite 

В базе данных можно получить доступ с помощью sqlite3 в командной строке.

+1

Принимаемый сейчас ответ больше не верен. Пожалуйста, пощадите свои голоса, чтобы получить это на вершине! – dave

0

Это довольно старый пост, но я искал что-то другое, и я приземлился здесь, мои 2 цента:

В ответ на WINSergey: (1) Самый простой способ восстановить свой идентификатор устройства и весь путь к печати:

NSLog(@"app dir: %@",[[[NSFileManager defaultManager] 
        URLsForDirectory:NSDocumentDirectory 
        inDomains:NSUserDomainMask] lastObject]); 

Тогда вы увидите выход на области отладки или открытии системного журнала от тренажера.

(2) Также, чтобы узнать идентификатор устройства из симулятора: XCode> WIndow> Devices>>, он показывает идентификатор с правой стороны.

Я также использую SQLiteStudio, это Open Source и работает хорошо.

Смежные вопросы