2010-02-15 139 views
37

我正在爲我的應用程序創建一個核心數據模型。我希望能夠在裏面查看我存儲在那裏的內容。如何查看存儲在覈心數據中的數據?

是否有比尋找後臺存儲更容易的方法(我的應該是SQLite)並從那裏讀取?似乎不是蘋果式的。

+0

可能的重複[有沒有一個好的核心數據瀏覽工具?](http://stackoverflow.com/questions/1609683/is-there-a-good-core-data-browsing-tool-out-那麼) – swiftBoy

+0

在iOS 10+上,你可以看到在這個答案中使用解決方案:https://stackoverflow.com/a/43406516/468724 –

回答

50

一旦您的應用程序在模擬器中運行並創建了持久性存儲文件,您就可以在應用程序的Documents目錄中找到該文件。

您的應用程序將是文件夾中(〜是你的主目錄):
〜/庫/應用程序支持/ iPhone模擬器/用戶/應用/

我排序「修改日期」,找到應用程序,我剛剛建成。

要查看SQLite文件,請查看Base和/或Core Data Editor

+2

特別是,核心數據編輯器以合理的方式呈現數據庫。 –

+3

有沒有一種自由的方式來做到這一點? – barfoon

+0

@barfoon Base有一個免費試用版(每次15分鐘),但更自由的是彈出打開終端,導航到相同的目錄,並運行SQLite3應用程序。在應用程序的Documents目錄中,找到.sqlite文件,並使用「sqlite3 .sqlite」運行它,將Model替換爲真實文件名。 – eddieroger

20

您也可以使用Firefox的附加工具SQLite的經理(免費)。我使用它,它運作良好。

+0

真棒的答案。一旦你下載了插件,並想出如何啓動它,你可以使用'print(NSFileManager.defaultManager()。URLsForDirectory(.DocumentDirectory,inDomains:.UserDomainMask)'''打印你的數據庫位置。然後,在插件中,當你想打開數據庫時,你需要在Finder中啓用隱藏文件夾。 – paulvs

+0

不幸的是https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/與最新的Firefox不兼容。 –

2

也嘗試sqlite數據庫瀏覽器。它的自由並反映了這一事實。雖然非常有用!

cheers.bo

11

您可以嘗試一個名爲CoreDataPro的小工具。很不錯。 Here

+1

偉大的工具,感謝兄弟 – evya

+1

很高興它有幫助。 – smileBot

1

以下是完整的路徑,顯然是因爲gerry3的回答改變

~/Library/Application Support/iPhone Simulator/<Simulator>/Applications/<ApplicationID>/Documents/<NAME>.sqlite 

所以,正確的路徑將是這樣的:如果你正在使用iOS的10 &斯威夫特讓它進入

~/Library/Application Support/iPhone Simulator/7.1-64/Applications/C1F3C2E5-987A-4DF7-91EF-955AE6E52621/Documents/TestApp.sqlite 
5

你的AppDelegate.swift:

let container = NSPersistentContainer(name: "***") 
    print(container.persistentStoreDescriptions.first?.url) 

然後你我看到類似的東西:

Optional(file:///Users/<SomeUser>/Library/Developer/CoreSimulator/Devices/956F0003-5DA4-4588-97C1-A9A83767F341/data/Containers/Data/Application/9765FDE1-6971-4706-987B-96FBD3F462BF/Library/Application%20Support/***.sqlite) 
1

我創建了一個macOS應用程序來瀏覽你的核心數據內容。它隱藏了核心數據實現,就像您在使用SQLite瀏覽器時看到的一樣。您也可以列出所有最新的運行應用程序和模擬器,使用它您可以輕鬆找到所需的應用程序。這裏更多的信息:

http://www.microedition.biz/simMagnifier

它具有其他功能,如訪問模擬器的文件夾,如文檔,應用程序支持,等等。你可以NSUserDefaults的檢查的內容了。

該應用不是免費的抱歉!但至少你有7天的試用期。

3

更新至此主題,iphone模擬器位置已移至Xcode7和Xcode8中的其他位置。現在是:

〜/資源庫/開發/ CoreSimulator/...

的地方〜是你的主目錄。

任何以前的解決方案仍然可以正常工作,但如果您使用以前的鏈接,則無法找到正確的文件夾。