我正在爲我的應用程序創建一個核心數據模型。我希望能夠在裏面查看我存儲在那裏的內容。如何查看存儲在覈心數據中的數據?
是否有比尋找後臺存儲更容易的方法(我的應該是SQLite)並從那裏讀取?似乎不是蘋果式的。
我正在爲我的應用程序創建一個核心數據模型。我希望能夠在裏面查看我存儲在那裏的內容。如何查看存儲在覈心數據中的數據?
是否有比尋找後臺存儲更容易的方法(我的應該是SQLite)並從那裏讀取?似乎不是蘋果式的。
一旦您的應用程序在模擬器中運行並創建了持久性存儲文件,您就可以在應用程序的Documents目錄中找到該文件。
您的應用程序將是文件夾中(〜是你的主目錄):
〜/庫/應用程序支持/ iPhone模擬器/用戶/應用/
我排序「修改日期」,找到應用程序,我剛剛建成。
要查看SQLite文件,請查看Base和/或Core Data Editor。
特別是,核心數據編輯器以合理的方式呈現數據庫。 –
有沒有一種自由的方式來做到這一點? – barfoon
@barfoon Base有一個免費試用版(每次15分鐘),但更自由的是彈出打開終端,導航到相同的目錄,並運行SQLite3應用程序。在應用程序的Documents目錄中,找到
您也可以使用Firefox的附加工具SQLite的經理(免費)。我使用它,它運作良好。
真棒的答案。一旦你下載了插件,並想出如何啓動它,你可以使用'print(NSFileManager.defaultManager()。URLsForDirectory(.DocumentDirectory,inDomains:.UserDomainMask)'''打印你的數據庫位置。然後,在插件中,當你想打開數據庫時,你需要在Finder中啓用隱藏文件夾。 – paulvs
不幸的是https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/與最新的Firefox不兼容。 –
也嘗試sqlite數據庫瀏覽器。它的自由並反映了這一事實。雖然非常有用!
cheers.bo
以下是完整的路徑,顯然是因爲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
你的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)
我創建了一個macOS應用程序來瀏覽你的核心數據內容。它隱藏了核心數據實現,就像您在使用SQLite瀏覽器時看到的一樣。您也可以列出所有最新的運行應用程序和模擬器,使用它您可以輕鬆找到所需的應用程序。這裏更多的信息:
http://www.microedition.biz/simMagnifier
它具有其他功能,如訪問模擬器的文件夾,如文檔,應用程序支持,等等。你可以NSUserDefaults的檢查的內容了。
該應用不是免費的抱歉!但至少你有7天的試用期。
更新至此主題,iphone模擬器位置已移至Xcode7和Xcode8中的其他位置。現在是:
〜/資源庫/開發/ CoreSimulator/...
的地方〜是你的主目錄。
任何以前的解決方案仍然可以正常工作,但如果您使用以前的鏈接,則無法找到正確的文件夾。
可能的重複[有沒有一個好的核心數據瀏覽工具?](http://stackoverflow.com/questions/1609683/is-there-a-good-core-data-browsing-tool-out-那麼) – swiftBoy
在iOS 10+上,你可以看到在這個答案中使用解決方案:https://stackoverflow.com/a/43406516/468724 –