[英]How to open database sqlite file on iPhone real device?
我正在通過電纜調試我的真實設備中的應用程序。 我有一部 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 系統,我認為。
在最新版本的 Xcode(我認為是 8 及更高版本)中,使用窗口菜單 --> 設備打開它。 在設備列表中找到該設備並查看該設備的已安裝應用程序列表。 將列出您在設備上構建並安裝的每個應用程序(可能還有其他一些應用程序)。 選擇您的應用程序,然后單擊列表下方的齒輪菜單。 單擊彈出菜單上的“下載”項,您可以將應用程序的文檔、庫和其他目錄復制到您的 Mac。
注意:這將下載一個 .xcappdata 文件。 右鍵單擊它並選擇“顯示包內容”將允許您深入查看實際的 sqlite 文件。
這是另一種方式:
在調試模式下,添加一個 UIActivityViewController 來共享(復制)您的 SQLite 數據庫到 Mac 或第三方 iOS 應用程序,如 SQLiteFlow(iOS),然后您可以調試您的 SQLite 數據庫。
使用設備調試應用程序時,您無法實時訪問 .sqlite 文件。 嘗試在模擬器中完成相同的操作,它會起作用。
您直接放置在文檔中的文件應該顯示在 iTunes 內的文件共享中。 您可以在本地下載它們並在那里進行編輯。 您需要通過添加以下內容在應用程序的 Info.plist 中啟用它:
<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
第二個鍵實際上僅在您想在Files 應用程序中顯示這些時才需要。
如果您正在尋找將iOS應用程序文檔文件夾中的sqlite文件導入Mac PC的工具,請安裝Apple configurator 2( https://apps.apple.com/us/app/apple-configurator-2/id1037126344?mt=12 )
將您的設備連接到Mac並在Apple Configurator中執行以下步驟
雙擊設備
選擇“操作>導出>文檔”。
選擇要導出的應用內的sqlite文件,然后單擊“選擇”。 將項目保存到Mac中的所需位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.