2010-10-26 66 views
10

我創建了一個使用核心數據的應用程序。有沒有辦法在模擬器上查看sqlite數據庫?一個工具可能允許查詢模擬器上的sqlite數據庫?像數據瀏覽器一樣?iPhone核心數據模擬器

有沒有辦法將iphone模擬器瀏覽到sqlite數據庫位置?

回答

11

的Xcode 5

我剛剛下載的Base審判,並能夠在.SQL數據庫從模擬器通過點吧:

/Macintosh的HD /用戶/ 「用戶名」/庫/應用程序支持/ iPhone模擬器/「當前iOS開發版本」/應用程序/

應用程序的文件夾名稱是不可讀的,但如果您單擊該文件夾,您應該能夠看到熟悉名稱的內容。

的Xcode 6+

這在Xcode 6被改變了,現在位於~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Appl‌​action在數據庫本身可以在文件目錄中找到<app-id>/Documents/<name>.sqlite

+4

從XCode 6+開始這不正確。查看 '〜/ Library/Developer/CoreSimulator/Devices//data/Containers/Data/Application' – djbp 2014-12-15 16:26:56

+0

有人知道如何在xCode中獲得? – WINSergey 2015-01-11 18:30:07

1

如果你已經安裝了免費sqlite3,你可以在命令行做這樣做:

/Users/<user>/Library/Application\ Support/iPhone\ Simulator/<sim_version>/Applications/<apphash>/Documents/<yourfile> 

最簡單的方法,看看哪些哈希你應該偷看:

ls -lt /Users/<user>/Library/Application\ Support/iPhone\ Simulator/<sim_version>/Applications/ 

你可以在提示處運行.tables以查看有哪些表,.schema <tablename>檢出其列。

14

和Xcode 6,模擬器基本目錄可以在這裏找到:

<app-id>/Documents/<name>.sqlite 

該數據庫可以使用訪問:

~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Application 

然後,數據庫本身可以在文件目錄中找到在命令行中輸入sqlite3

+1

目前接受的答案不再正確。請留意你的最高票數,讓這個票到最高! – dave 2014-10-24 15:53:31

0

這是一個很舊的文章,但我一直在尋找別的東西,我降落在這裏,我的2美分:

在回答WINSergey: (1)恢復您的設備ID最簡單的方式整個路徑是打印:

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

然後,您會在調試區域看到輸出或從模擬器打開系統日誌。 (2)此外,要從模擬器瞭解設備ID:XCode> WIndow> Devices>>它會在右側顯示標識符。

我也使用SQLiteStudio,它是開源的,運行良好。