Где находится файл sqlite в IOS 12? - PullRequest
0 голосов
/ 15 октября 2018

Я не могу найти файл sqlite для симулятора IOS.Мне нужен файл для проверки данных в базе данных на предмет отладки.

Ранее я использовал:

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

, чтобы получить местоположение файла, а затем вставить его в Finder.Теперь он дает мне:

file:///var/mobile/Containers/Data/Application/7DA7CB97-948B-41C6-BFA3-A50E6FF4C8B3/Documents/

Apple, похоже, недавно изменила местоположение файла.

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

Я наконец-то нашел, где это.

-User-> userName-> Щелкните правой кнопкой мыши, чтобы показать папку библиотеки

-запустите консольную команду: xcrun simctl list

Это будетпокажет вам идентификатор для симулятора, который вы используете.

- Перейдите в / Users / jk / Library / Developer / CoreSimulator / Devices / и выберите файл симулятора, который соответствует идентификатору, который вы нашли.

-В поиске искателя ищите название текущей версии модели.

Конечным результатом для меня было: Macintosh HD ▸ Пользователи ▸ Имя пользователя ▸ Библиотека ▸ Разработчик ▸ CoreSimulator ▸ Устройства ▸ 217E2EB2-139F-4568-B1D0-A6B9EE701198▸ данные ▸ контейнеры ▸ данные ▸ приложение ▸ C69F7670-3589-4F17-BEB0-79E290206676 ▸ библиотека Support поддержка приложений ▸ AppName -> имя версии Core Data.

0 голосов
/ 12 декабря 2018

Может ли этот ответ помочь вам?

Я думаю, что вам действительно нужен редактор SQLite, который может автоматически обрабатывать изменения пути к файлам, поэтому вам не нужнонадо беспокоиться о том, на что путь в действительности меняется, верно?

Если ответ положительный, попробуйте SQLiteFlow , он доступен в App Store и в документации написано:

Обработка имени файла базы данных или изменений каталога.Это позволяет SQLiteFlow работать с вашей базой данных SQLite в симуляторе iOS.

0 голосов
/ 16 октября 2018

Полагаю, вы ссылаетесь на файл SQLite Core Data .

Не думаю, что Apple недавно внесла какие-либо изменения в расположение файлов.

По умолчанию, если ваше приложение является приложением Core Data на основе документов (с использованием UIManagedDocument), что встречается редко, я думаю, что файлы документов попадают в подпапку Documents вашего приложения Container (песочница).Но если ваше приложение является базовым приложением без документов , которое является очень распространенным, то единственный файл SQLite помещается в подпапку Application Support вашего приложения Container (песочница)).

Вызов NSLog () в вашем вопросе ищет только подпапку Documents.Если ваше приложение не основано на документах, измените константу с NSDocumentDirectory на NSApplicationSupportDirectory.Затем посмотрите путь, который он печатает.

Например, в моем приложении без данных Core Data, работающем в имитаторе iOS 12, регистрируется путь к отпечаткам папки поддержки приложений:

/Users/jk/Library/Developer/CoreSimulator/Devices/BB85B11A-5C2C-4CBC-AB4F-891C74E6FD3A/data/Containers/Data/Application/A973B1C6-4E71-43DD-8F21-6A55903E071B/Library/Application Support
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...