Как открыть файл базы данных sqlite на реальном устройстве iPhone? - PullRequest
0 голосов
/ 13 июня 2018

Я отлаживаю приложение в моем реальном устройстве по кабелю.У меня есть iPhone 6. Я хочу проверить свою базу данных и работать с sqlite3 для запроса моих результатов.Другие вопросы и руководства объясняют, как это делать только в симуляторе, но я использую настоящий iPhone.

В AppDelegate я печатаю путь к базе данных:

print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as String) /Users/myname/Library/Developer/CoreSimulator/Devices/DAE93E57-7004-45F6-9B93-E79CA1AEEEFA/data/Containers/Data/Application/D7A4F27E-6F11-4941-A1B0-0337ABF788AB/Documents

Итак, я беру путь и доступ из терминала и получаю доступ к своей базе данных с помощью sqlite3 DatabaseFile

Но когда я отлаживаю в своем устройстве, напечатанный путь не работает.Я попытался использовать печатный путь cd /var/mobile/Containers/Data/Application/3257D423-C198-41A5-B29D-B31E99F84F34/Documents /usr/bin/CD: line 4: cd: /var/mobile/Containers/Data/Application/3257D423-C198-41A5-B29D-B31E99F84F34/Documents: No such file or directory

Эта ошибка происходит из-за того, что это система iOS, я думаю.

Ответы [ 5 ]

0 голосов
/ 13 ноября 2018

Xcode 10.1

В Xcode перейдите в Окно> Устройства и симуляторы

enter image description here

В Устройства * На вкладке 1013 * выберите приложение, затем щелкните значок шестеренки, затем нажмите Загрузить контейнер ... enter image description here

Выберитегде вы хотите сохранить файл, затем нажмите Сохранить .

Перейдите в Finder и найдите файл .xcappdata , который вы только что скачали, затем щелкните правой кнопкой мыши и выберите Показать пакет в содержании

enter image description here

Откроется папка содержимого.Ваш .sql файл находится в AppData> Библиотека> Поддержка приложений

enter image description here

Я рекомендую загрузить Браузер БДдля файла SQL и открытия с ним файла .sql .Он творит чудеса!

0 голосов
/ 17 июля 2018

Вот еще один способ:

В режиме отладки добавьте UIActivityViewController для совместного использования (копирования) базы данных SQLite на Mac или в стороннее приложение iOS, такое как SQLiteFlow (iOS), после чего вы можете отлаживать SQLite.базы данных.

0 голосов
/ 13 июня 2018

Файлы, которые вы поместили непосредственно в Документы, должны отображаться в Общий доступ к файлам внутри iTunes.Вы можете скачать их локально и редактировать их там.Вам нужно будет включить его в Info.plist вашего приложения, добавив:

<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>

Второй ключ на самом деле требуется только в том случае, если вы хотите включить его отображение в приложении Файлы .

0 голосов
/ 13 июня 2018

В последних версиях Xcode (я думаю, 8 и выше) откройте это с помощью меню «Окно» -> «Устройства».Найдите устройство в списке устройств и посмотрите список установленных приложений для устройства.Все приложения, которые вы создали и установили на устройстве, будут перечислены (и, возможно, некоторые другие).Выберите ваше приложение и щелкните меню передач под списком.Щелкнув по пункту «Загрузить» во всплывающем меню, вы сможете скопировать документы, библиотеку и другие каталоги приложения на свой Mac.

Примечание: это позволит загрузить файл .xcappdata.Если щелкнуть по нему правой кнопкой мыши и выбрать «Показать содержимое пакета», вы сможете перейти к самому файлу sqlite.

Проверьте, что ссылка может вам помочь -

Любой способполучить базу данных SQLite от iPhone?

0 голосов
/ 13 июня 2018

Вы не можете получить доступ к файлу .sqlite в режиме реального времени при отладке приложения с помощью устройства.Попробуйте выполнить то же самое в симуляторе, и это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...