2013-05-07 2 views
1

В папке документов моего приложения, я не нахожу мой SQLite базы данныхНе удается найти базу данных SQLite iPhone Simulator: использование Magical запись

Support Library/Application/iPhone Simulator/6,1/"случайное приложение Идентификация "/ Документы/

^Эта папка пуста

MagicalRecord, кажется, работает, я просто понятия не имею, как найти базу данных.

Я использую следующие настроить Magical запись

[MagicalRecord setupAutoMigratingCoreDataStack]; 

Так где же MagicalRecord сохранить свою базу данных?

+0

Вы можете, перейдя по ссылке http://stackoverflow.com/questions/24133022/ios-8 -store-sqlite-file-location-core-data/27461267 # 27461267 –

ответ

4

MagicalRecord магазины, по умолчанию, все хранилища данных в следующих местах:

{App Folder}/Library/Application Support/{Имя приложения от Info.plist}/{} storeName.sqlite

Это легко доступно из симулятора, а также документов.

+1

У меня есть только три файла в этом месте вместо sqlite; AppName \t \t AppName-shm \t AppName-wal – GangstaGraham

+0

@GangstaGraham Файл wal является журналом записи SQLite, а shm является файлом общей памяти SQLite. Скорее всего, файл «AppName» ваша база данных SQLite. – rickerbh

+0

Я понял, что в строке Store Named я ввел «AppName» вместо «AppName.sqlite», я просто подумал, что он добавит в sqlite сам по себе, в любом случае спасибо вам ТАК, ТАК, база данных действительно помогает в понимании того, что делает программа, так что здорово иметь возможность получить к ней доступ снова. Большое спасибо! @rickerbh – GangstaGraham

0

Если вы знаете имя файла sqlite, просто выполните поиск в OSX для этого файла, чтобы найти каталог. В противном случае файл никогда не создавался.

Убедитесь, что вы правильно настроили стек CoreData в соответствии с documents.

+ (void) setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName; 
+0

Знаете ли вы, нужен ли Core Data файл базы данных или если это необязательно? Потому что Core Data (через оболочку Magical Record) работает. – GangstaGraham

+0

CoreData может использовать sqlite в качестве своего постоянного хранилища, но нет, он не требует sqlite. Он должен быть настроен для любого типа магазина, который вы выберете. –

+0

Проверьте здесь.Он перестраивает настройку стека CoreData (имя файла sqlite) https://github.com/magicalpanda/MagicalRecord –

3

Вы можете войти свое местоположение SQlite файл с помощью следующей NSPersistentStore MR дополнение:

[NSPersistentStore MR_urlForStoreName:[MagicalRecord defaultStoreName]] 
0

Swift + Xcode 7 + имитатор 9,0

Пожалуйста, перейдите на AppDelegate.swift

изменение

MagicalRecord.setupCoreDataStackWithStoreNamed("yourDBName.sqlite") 

до

MagicalRecord.setupCoreDataStackWithAutoMigratingSqliteStoreNamed("yourDBName.sqlite") 

Теперь вы можете найти yourDBName.sqlite на /Users/имя пользователя/Library/Developer/CoreSimulator/Devices/"случайный идентификатор приложения"/данные/Контейнеры/Data/Application/"случайный идентификатор приложения"/Library/Application Support/ProjectName

Существует полезный инструмент: simPHolders2 (http://simpholders.com) simPHolders легко получить доступ ко всем папкам приложений