2017-01-06 1 views
1

Когда я использую для работы с основными данными, я часто использую этот код, чтобы показать мне путь к .sqlite базы данных:Пути к базе данных Ядра с Magical записью

NSLog(@"%@ path-core",[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]); 

Однако, когда я добавить Magical записи в мой проект , я использовал вместо этого:

NSLog(@"magical record path to SQLite base %@", [NSPersistentStore MR_defaultLocalStoreUrl]); 

Какой путь печати:

/Users/Necrosoft/Library/Developer/CoreSimulator/Devices/68A05D98-7949-4F90-BFB9-9C8A368F411B/data/Containers/Data/Application/7EC45D6A-B20E-4EC2-B657-1425F714518F/Library/Application%20Support/MyApp/CoreDataStore.sqlite 

Но я не могу найти CoreDataStore.sqlite. Когда я пытаюсь «перейти к» с помощью finder, я просто нахожу пустую папку. Но я думаю, что здесь есть .sqlite db. Итак, как я могу получить к нему доступ?

ОБНОВЛЕНИЕ: В папке поддержки приложений есть фактические 4 элемента, но я вижу, что только 3, 1 отсутствует (скрывается) - это тот, который мне нужен. Как его получить?

enter image description here

+0

это может помочь вам, но это в быстрой HTTP: //stackoverflow.com/questions/25434354/nslogging-println-sqlite-db-file-location-in-swift/40325883#40325883 –

+0

Посмотрите, как сконструирован 'MR_defaultLocalStoreUrl' в коде: с' MR_directory: NSApplicationSupportDirectory' не 'NSDocumentDirectory ', которые могут быть ru в пути '/ Library/Application% 20Support'. Просто следуйте этой логике. Он добавляет также имя приложения '[[[[NSBundle mainBundle] infoDictionary] valueForKey: (NSString *) kCFBundleNameKey];'. Источник: https://github.com/magicalpanda/MagicalRecord/blob/master/MagicalRecord/Categories/NSPersistentStore%2BMagicalRecord.m – Larme

+0

@ Larme так как я могу получить доступ к этому файлу? .. –

ответ

1

Конечная цель для вас является поиск CoreDataStore.sqlite файла.

откройте свой терминал и введите find ~ -name 'CoreDataStore.sqlite' и нажмите enter.

Ashoks-MacBook-Pro:Desktop Ashok$ find ~ -name 'CoreDataStore.sqlite' 
/Users/Ashok/Desktop/CoreDataStore.sqlite 

Из выше выхода вы можете ясно видеть путь вашей БД SQLite

Я надеюсь, что это помогает :-)

+0

спасибо, но терминал просто застрял около 30 секунд, а затем ничего не возвращал. –

+0

проверить местоположение файла данных Core iOS 10: http: // stackoverflow.com/questions/39722844/core-data-files-location-ios-10/40103564 # 40103564 –

+0

убедитесь, что ваш проект запущен –

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