Utworzyłem DB przez królestwo i nie mogę znaleźć pliku, ponieważ mój system operacyjny (Yosemite) nie ma folderu mobilnego w katalogu / private / var / mobile.
Jak powinienem uzyskać dostęp do mojego królestwa, aby uruchomić się w przeglądarce?
Krzyż wysłany z grup google
Odpowiedzi:
Znajdowanie pliku dziedziny
Dla Android
Jak wyświetlić mój plik Realm w przeglądarce Realm?
Na iOS
Jeśli Twoja aplikacja jest na urządzeniu
Upewnij się, że urządzenie jest podłączone i przejdź do okna urządzeń w menu Xcode Okno> Urządzenia (⌘⇧2). Tam będziesz mógł wybrać swoje urządzenie i aplikację z listy zainstalowanych aplikacji z uprawnieniami do debugowania.
Po wybraniu aplikacji przejdź do koła zębatego na pasku narzędzi u dołu widoku tabeli i wybierz „Pobierz kontener…” . Tam będziesz mógł pobrać plik z lokalizacji dokumentów na komputer Mac. Zostanie zapisany jako pakiet xcappdata.
Gdy otworzysz ścieżkę lokalną w Finderze, w której ją zapisałeś, możesz z niej skorzystać, wybierając „Pokaż zawartość opakowania” w menu kontekstowym wyszukiwarki, po wybraniu pliku. Otworzy się nowe okno wyszukiwarki, w którym znajdziesz swoje królestwo w następującej ścieżce (np.): AppData / Documents / default.realm (katalog „/ private / var / mobile” jest ścieżką używaną przez iOS na system plików urządzenia.
Jeśli Twoja aplikacja jest na symulatorze
Przejdź do katalogu użytkownika:
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm
Prawdopodobnie najłatwiejszym sposobem uzyskania bieżącej ścieżki domyślnej dziedziny jest wstrzymanie symulatora i wprowadzenie do konsoli LLDB:
Cel C :
(lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL
Szybko, używając Realm Objective-C :
(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL
Swift za pomocą Realm Swift :
(lldb) po Realm.Configuration.defaultConfiguration.fileURL
Lub jeśli masz
RLMRealm
pod ręką instancję, możesz użyć:(lldb) po myRealm.configuration.fileURL
Następnie po prostu skopiuj tę ścieżkę, otwórz terminal i wpisz
open
[Wklej tutaj ścieżkę]UWAGA: Na niektórych ścieżkach jest spacja, dlatego przed spacją należy użyć „\”
Narzędzia pomocnicze SimPholder
Jest to prawdopodobnie najszybszy sposób na znalezienie pliku aplikacji w symulatorze. Zainstaluj SimPholder . Umożliwi to dostęp do katalogu dokumentów aplikacji bezpośrednio z paska menu.
Uwaga Niektóre osoby wspomniały, że SimPholder zabrał ich do niewłaściwego folderu aplikacji symulatora, jeśli tak jest w Twoim przypadku, wydrukuj ścieżkę królestwa, wykonując powyższe kroki, drukując ścieżkę dziedziny.
źródło
po RLMRealm.defaultRealmPath()
. Mówicalled object type 'NSString *' is not a function or function pointer
po [[RLMRealm defaultRealm]path]
Realm.Configuration.defaultConfiguration.fileURL
error: use of undeclared identifier 'Realm'
Znalazłem najprostszy sposób na iOS / macOS (dla Swift 3 Xcode 8.3)
Następnie kod x zarejestruje poprawną ścieżkę, sprawdź poniższy ekran.
Teraz otwórz Finder i naciśnij ⌘+ ⇧+ G(polecenie + shift + G) i wklej ścieżkę, która rejestruje twój Xcode
źródło
Realm.Configuration.defaultConfiguration.fileURL
zamiastRealm.Configuration.defaultConfiguration.fileURL!
Jedna łatwa alternatywa dla aplikacji symulatora
Utwórz inteligentny folder / wyszukiwanie w Finderze. Zapewnia szybki i łatwy dostęp do wszystkich plików domeny.
Otwórz folder
/Users/$USER/Library/Developer/CoreSimulator/Devices
w Finderze.Z terminalem
open /Users/$USER/Library/Developer/CoreSimulator/Devices
Szukaj
.realm
Zmień wyszukiwanie, aby przeglądać
"Devices"
tylko folder.Po posortowaniu według daty daje to szybką i łatwą do kliknięcia listę najnowszych zmodyfikowanych
.realm
plików Symulatora .źródło
Oto proste rozwiązanie .. Pomyślałem przez chwilę. Powinienem zaznaczyć, że jest to konkretny zestaw instrukcji korzystających z Android Studio i emulatora AVD.
1) Uruchom emulator i uruchom aplikację.
2) Gdy aplikacja jest nadal uruchomiona, otwórz Android Device Monitor. (znajduje się na pasku narzędzi obok ikon menedżera AVD i SDK)
3) Kliknij kartę Eksplorator plików w Monitorze urządzeń. Powinno być dużo folderów.
4) Przejdź następującą ścieżką: Dane> Dane> Nazwa Twojego pakietu > pliki> Default.Realm (lub jakkolwiek to nazwałeś)
Dawny. Jeśli używasz jednego z przykładowych projektów dziedziny, ścieżka może wyglądać następująco: Dane> Dane> io.realm.examples.realmgridview> pliki> default.realm
5) Podświetl plik, kliknij ikonę dyskietki w prawym górnym rogu „wyciągnij plik z urządzenia”
6) Zapisz to, gdziekolwiek chcesz i gotowe.
źródło
Zrobiłem to
a następnie jest tworzony w pełnym widoku na moim pulpicie i mogę kliknąć dwukrotnie, aby uruchomić na nim Realm Browser. Później mogę usunąć parametr i pozwolić mu użyć domyślnej lokalizacji, gdy jestem przekonany, że wszystko działa zgodnie z oczekiwaniami.
źródło
Cel C -
[RLMRealmConfiguration defaultConfiguration].fileURL
Jest to najprostsze polecenie, które można uruchomić, aby uzyskać ścieżkę do pliku .realm. Zobaczysz plik .realm po zakończeniu wszystkich operacji odczytu i zapisu.
Lub
Możesz otworzyć openSim open source , alternatywę dla simpholderów, aby uzyskać dostęp do katalogu dokumentów aplikacji bezpośrednio z paska menu
źródło
W powyższych odpowiedziach brakuje sposobu na znalezienie pliku dziedziny na platformie Android i uwierz mi, że w ten sposób zaoszczędzisz mnóstwo czasu, który generalnie marnujemy na inne podejścia do uzyskania pliku dziedziny. A więc zacznijmy...
Najpierw otwórz „Device File Explorer” w Android studio (Widok -> Narzędzia Windows -> Device File Explorer.
Spowoduje to otwarcie eksploratora urządzenia.
teraz otwórz dane -> dane -> (twoja_aplikacja_aplikacji) -> pliki -> default.realm
default.realm to plik, dla którego tu jesteśmy. Teraz Save_as ten plik w swojej lokalizacji i uzyskaj dostęp do pliku z przeglądarki realm_browser, a otrzymasz bazę danych.
UWAGA: Wspomniane podejście jest testowane na telefonie niezrootowanym (jeden + 3).
źródło
Jeśli używasz domyślnej bazy danych Realm w symulatorze:
źródło
Zaktualizowana odpowiedź do najnowszej dziedziny:
Dla Android:
kasa stetho i https://github.com/uPhyca/stetho-realm Samouczek wideo tutaj: https://www.youtube.com/watch?v=9pFJz5VexRw
Dla IOS (Swift)
Zarówno:
lub
Krok 1: Poproś gdzieś stałą o nazwie dev. Powiedzmy, że plik Constant
Krok 2: Utwórz kolejną klasę o nazwie RealmFunctions.swift
Krok 3: w końcu w kontrolerze widoku:
dzięki Stewart Lynch za oryginalną odpowiedź
źródło
realm.path
narealm.configuration.fileURL!.absoluteString
Jeśli pojawia się błąd okna dialogowego „Wprowadź klucz szyfrowania”:
Używam Swift 2.1 z Realm 0.96.2 i otrzymywałem ten błąd podczas próby otwarcia pliku bazy danych:
Stwierdzono, że użycie przedpremierowej wersji Realm Browser 0.96 rozwiązało problem:
https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease
źródło
Po pierwsze, potwierdzam, że jest to wątek na Androida, ale ogólnie jest to pierwszy wynik wyszukiwania tego problemu.
Aby otworzyć ostatnio utworzoną bazę danych Xcode Simulator Realm w przeglądarce Realm Browser, możesz użyć tego skryptu w Automatorze lub wpisać wszystko w terminalu. Korzystając z Automatora, mam dostęp do mojej aktualnej dziedziny jednym kliknięciem.
Zainstaluj Realm Browser. W Automatorze kliknij Nowy, wybierz Uruchom skrypt powłoki, wklej kod, zmień nazwę dziedziny Db, Kliknij Uruchom, aby przetestować, zapisz plik w dogodnym miejscu, aby uzyskać szybki dostęp do kliknięcia.
Nie wiem, gdzie pierwszy raz znalazłem tę wskazówkę, ale ten wątek przypomniał mi, jak uzyskiwałem dostęp do moich danych na żywo w przeszłości.
źródło
Tylko dla Twojej aplikacji jest na iOS Simulator
Wchodzić
w kodzie np.: App.js
źródło
Zrobiłem ten krok dalej. Utworzyłem szybki plik o nazwie RealmFunctions, w którym utworzyłem tę funkcję
Teraz w moim głównym kontrolerze widoku mam globalną zmienną logiczną o nazwie dev
Teraz wszystko, co muszę zrobić w kodzie, to
Tak więc w trybie programowania mogę znaleźć bazę danych dziedzin na pulpicie i otworzyć ją w przeglądarce dziedzin.
źródło
Znalazłem plik królestwa, wydając następującą komendę w Terminalu:
sudo find / -name "*.realm"
.Mam nadzieję że to pomoże!
źródło
W Swift
źródło
Aby uzyskać ścieżkę DB dla iOS, najprostszym sposobem jest:
(lldb)
) i wpisz:po RLMRealm.defaultRealmPath
Tada ... masz ścieżkę do bazy danych królestwa
źródło
Poprawna komenda (lldb) wynosi:
Realm.Configuration.defaultConfiguration.path
.źródło
Dla tych, którzy używają React Native i używają domyślnej dziedziny:
Realm.defaultPath
źródło
componentDidMount() { console.log(Realm.defaultPath) }
w moim komponencie przy użyciu Realm działało dla mnie. Sprawdź później konsolę xcode.W obszarze Narzędzia -> Monitor urządzeń z systemem Android
I w Eksploratorze plików. Wyszukaj aplikacje. Plik znajduje się w obszarze danych / danych.
źródło
Prawidłowe polecenie lldb dla Xcode 7, Swift 2.2+ to
po Realm.Configuration.defaultConfiguration.path!
źródło
path
alefileURL
: Realm.Configuration.defaultConfiguration.fileURL!po Realm.Configuration.defaultConfiguration.fileURL?.path
Rozwiązanie Swift 2.3
Łatwiejsze rozwiązanie, które nie zepsuje się dzięki aktualizacjom Realm
Plik .realm powinien znajdować się w „Dokumentach”
źródło