Jak wyświetlić dane przechowywane w Core Data?

Tworzę podstawowy model danych dla mojej aplikacji. Chciałbym móc zajrzeć do środka i zobaczyć, co tam schowałem.

Czy istnieje łatwiejszy sposób niż wyszukiwanie backstore (moim powinien być SQLite) i czytanie go stamtąd? Nie wygląda jak jabłko.

Author: Frank, 2010-02-15

10 answers

Po uruchomieniu aplikacji w symulatorze i utworzeniu pliku sklepu persistant można go znaleźć w katalogu Dokumenty aplikacji.

Twoja aplikacja będzie folderem wewnątrz (~jest Twoim katalogiem domowym):
~ / Library / Application Support / iPhone Simulator / User / Applications /

Sortuj według "Data zmodyfikowana", aby znaleźć aplikację, którą właśnie zbudowałem.

Aby wyświetlić plik SQLite, sprawdź Basei/lub Core Data Editor.

 52
Author: gerry3,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-17 06:54:47

Możesz również użyć dodatku do Firefoksa SQLite Manager (bezpłatny). Używam go i działa dobrze.

 21
Author: RoLYroLLs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-21 17:44:07

Możesz wypróbować małe darmowe narzędzie o nazwie CoreDataPro. Całkiem nieźle. Tutaj

 11
Author: smileBot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-28 15:01:21

Jeśli używasz iOS 10 i Swift pobierz go do AppDelegate.swift: {]}

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

Wtedy zobaczysz coś takiego:

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)
 8
Author: Lyanch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-24 08:18:05
 5
Author: barfoon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-18 23:40:57

Aktualizacja do tego wątku, lokalizacja symulatora iphone ' a została przeniesiona do innej lokalizacji w Xcode7 i Xcode8. Jest teraz w:

~ / Library / Developer/CoreSimulator/...

Gdzie ~ jest Twoim katalogiem domowym.

Poprzednie rozwiązania nadal będą działać, ale nie będziesz w stanie znaleźć odpowiedniego folderu, jeśli użyjesz poprzednich linków.

 4
Author: Diesel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-02 19:25:56

Wypróbuj również przeglądarkę baz danych sqlite. jest wolny i odzwierciedla ten fakt. ale bardzo przydatne!

Cheers.bo

 2
Author: roberthuttinger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-19 01:21:56

Oto pełna ścieżka, najwyraźniej zmieniła się od odpowiedzi gerry3

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

Więc poprawna ścieżka wygląda tak:

~/Library/Application Support/iPhone Simulator/7.1-64/Applications/C1F3C2E5-987A-4DF7-91EF-955AE6E52621/Documents/TestApp.sqlite
 1
Author: hashier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-29 14:18:19

Stworzyłem aplikację macOS do przeglądania zawartości podstawowych danych. Ukrywa implementację podstawowych danych tak, jak widzisz, gdy używasz przeglądarki SQLite. Możesz również wymienić wszystkie najnowsze aplikacje i symulatory, dzięki czemu możesz łatwo znaleźć aplikację, której szukasz. Więcej informacji tutaj:

Http://www.microedition.biz/simMagnifier

Posiada inne funkcje, takie jak foldery access Simulator, takie jak dokumenty, Obsługa aplikacji itp. Możesz sprawdzić zawartość NSUserDefaults też.

Aplikacja nie jest darmowa przepraszamy! ale przynajmniej masz 7-dniowy okres próbny.

 1
Author: Pablo Romero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-23 03:00:45

3 Proste Kroki

  1. Zainstaluj aplikację liya, jest darmowa, Rozmiar 3.1 MB, więc instaluje się w 1 minutę.
    Link https://itunes.apple.com/us/app/liya/id455484422?mt=12.

  2. Otwórz Finder, naciśnij "Ctrl + G" lub "CMD + Ctrl + G", Wklej ~ / Library / Developer /
    W folderze programisty wyszukaj nazwę modelu danych rdzenia (eg. MyProjectModel).

  3. Otwórz plik MyProjectModel.d lub ' MyProjectModel.SQLite ' używając liya. W liya wybierz tabelę, kliknij " Uruchom Polecenie SQL".

Zrobione.
 1
Author: nikdange_me,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-01 18:15:09