J'ai créé une base de données par royaume et je ne parviens pas à trouver le fichier car mon système d'exploitation (Yosemite) ne dispose pas d'un dossier mobile dans/private/var/mobile.
Comment dois-je accéder à mon royaume pour s'exécuter dans le navigateur?
Croix posté de google groupes
Comment afficher mon fichier de royaume dans le navigateur de royaume?
Assurez-vous que votre appareil est connecté et accédez à la fenêtre des appareils dans le menu Xcode Fenêtre> Appareils (2). Là, vous pourrez choisir votre appareil et votre application parmi une liste d'applications installées avec des autorisations de débogage.
Après avoir sélectionné votre application, accédez au rouage de la barre d’outils au bas de la vue tableau et sélectionnez “Télécharger le conteneur…“. Vous pourrez alors extraire le fichier de l’emplacement des documents sur votre Mac. Il sera enregistré en tant que bundle xcappdata.
Lorsque vous ouvrez le chemin local dans le Finder, où vous l'avez enregistré, vous pouvez y accéder en sélectionnant “Afficher le contenu du paquet” dans le menu contextuel du Finder, lorsque vous sélectionnez le fichier. Une nouvelle fenêtre du Finder s’ouvrira, où vous trouverez votre royaume à l’intérieur du chemin suivant (par exemple): AppData/Documents/default.realm (le répertoire '/ private/var/mobile' est le chemin utilisé par iOS de la système de fichiers de l'appareil.
Allez dans le répertoire de votre utilisateur:
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm
Le moyen le plus simple d’obtenir le chemin actuel du domaine par défaut consiste à suspendre le simulateur et à saisir les informations suivantes dans la console LLDB:
Objectif c:(lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL
Swift en utilisant le Royaume Objective-C:(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL
Swift en utilisant Realm Swift:(lldb) po Realm.Configuration.defaultConfiguration.fileURL
Ou si vous avez une instance RLMRealm
sous la main, vous pouvez utiliser:(lldb) po myRealm.configuration.fileURL
Ensuite, copiez simplement ce chemin, ouvrez votre terminal et tapez open
[chemin collé ici]
NOTE: Certains chemins ont un espace, assurez-vous donc d'utiliser "\" avant l'espace pour l'échapper
C'est probablement le moyen le plus rapide de trouver le fichier d'une application dans le simulateur. Installez SimPholders . Cela vous permettra d'accéder au répertoire des documents de votre application directement à partir de votre barre de menus.
Remarque Certaines personnes ont mentionné que SimPholders les avait transférées dans le mauvais dossier de l'application de simulation. Si c'est le cas pour vous, imprimez votre chemin de domaine en suivant les étapes ci-dessus, en imprimant votre domaine.path
J'ai trouvé le moyen le plus simple pour iOS/macOS (pour Swift 3 Xcode 8.3)
override func viewDidLoad() {
// for Swift 2.0 Xcode 7
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
Ensuite, x code enregistrera le chemin correct, vérifiez l’écran ci-dessous.
Ouvrez maintenant votre Finder et appuyez sur ⌘ + ⇧ + G (commande + shift + G) et collez le chemin qui se connecte sur votre Xcode
Voici une solution facile .. Je me suis planté avec ça pendant un moment. Il convient de souligner qu’il s’agit d’un ensemble spécifique d’instructions utilisant Android Studio et AVD Emulator.
1) Démarrez l’émulateur et lancez votre application.
2) Pendant que l'application est toujours en cours d'exécution, ouvrez le moniteur de périphériques Android. (dans la barre d’outils à côté des icônes de gestionnaire AVD et SDK)
3) Cliquez sur l'onglet Explorateur de fichiers dans le Moniteur de périphériques. Il devrait y avoir beaucoup de dossiers.
4) Naviguez dans le chemin suivant: Données> Données> Votre nom de paquet > fichiers> Default.Realm (ou le nom de votre choix).
Ex. Si vous utilisez l'un des exemples de projets du domaine, le chemin d'accès sera du type Données> Données> io.realm.examples.realmgridview> fichiers> default.realm.
5) Mettez le fichier en surbrillance, cliquez sur l'icône de la disquette dans la partie supérieure droite "extraire un fichier du périphérique".
6) Économisez où vous voulez et fait.
Créez un dossier intelligent/recherchez dans le Finder. Donne un accès simple et rapide à tous vos fichiers de domaine.
Ouvrez le dossier /Users/$USER/Library/Developer/CoreSimulator/Devices
dans le Finder.
Avec terminal open /Users/$USER/Library/Developer/CoreSimulator/Devices
Rechercher .realm
Modifiez la recherche pour rechercher uniquement dans le dossier "Devices"
.
Une fois triés par date, vous obtiendrez une liste simple et rapide des derniers fichiers Simulator .realm
modifiés modifiés.
Ce que j'ai fait était d'utiliser
let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
et ensuite, il est créé dans son intégralité sur mon bureau et je peux double-cliquer dessus pour lancer le navigateur de domaine. Plus tard, je peux supprimer le paramètre et le laisser utiliser l'emplacement par défaut lorsque je suis convaincu que tout fonctionne comme prévu.
Objective-C - [RLMRealmConfiguration defaultConfiguration].fileURL
NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);
Exemple:/Utilisateurs/"Votre nom d'utilisateur"/Bibliothèque/Développeur/CoreSimulator/Appareils/E58645FF-90DE-434D-B2EB-FA145EB6F2EA/data/Conteneurs/Données/Application/E427BD21-2CB1-4F64-9ADF-8742FF731209/Documents /
C’est la commande la plus simple que vous puissiez exécuter pour obtenir votre chemin vers le fichier .realm. Vous verrez le fichier .realm une fois toutes vos opérations de lecture et d’écriture terminées.
Ou
Vous pouvez ouvrir source openSim , alternative à simpholders pour accéder au répertoire des documents de votre application directement à partir de votre barre de menus.
checkout stetho et https://github.com/uPhyca/stetho-realm Tutoriel vidéo ici: https://www.youtube.com/watch?v=9pFJz5VexRw
Non plus:
debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)
Étape 1: Avoir une constante appelée dev quelque part. Disons fichier constant
public class Constants {
public static var dev: Bool = true
}
Étape 2: Créez une autre classe appelée RealmFunctions.Swift
import RealmSwift
func realmAndPath() -> Realm {
if Constants.dev {
// location of my desktop
let testRealmURL = NSURL(fileURLWithPath: "/Users/#####/Desktop/TestRealm.realm")
return try! Realm(fileURL: testRealmURL)
} else {
return try! Realm()
}
}
Étape 3: enfin dans votre contrôleur de vue:
let realm = realmAndPath()
merci à Stewart Lynch pour la réponse originale
Si vous obtenez une erreur de la boîte de dialogue 'Entrer la clé de cryptage':
J'utilise Swift 2.1 avec Realm 0.96.2 et j'obtenais cette erreur en essayant d'ouvrir le fichier de base de données:
'default' n'a pas pu être ouvert. Il peut être crypté, ou ce n'est pas dans un format de fichier compatible. Si vous savez que le fichier est crypté, vous pouvez entrez manuellement sa clé de cryptage pour l'ouvrir.
Nous avons constaté que l'utilisation de la version préliminaire de Realm Browser 0.96 corrigeait le problème:
https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease
Les réponses ci-dessus manquent un moyen de trouver le fichier de royaume sur la plate-forme Android et croyez-moi, cela vous fera gagner beaucoup de temps que nous perdons généralement avec d'autres approches pour obtenir le fichier de royaume. Alors commençons ...
Commencez par ouvrir «Explorateur de fichiers de périphérique» dans Android studio (Affichage -> Outils Windows -> Explorateur de fichiers de périphérique.
Cela ouvrira l'explorateur de votre appareil.
maintenant, ouvrez data -> data -> (your_app_package_name) -> files -> default.realm
default.realm est le fichier pour lequel nous sommes ici. Maintenant, Save_as ce fichier à votre emplacement et accédez au fichier à partir de realm_browser et vous obtiendrez votre base de données.
NOTE: L'approche mentionnée est testée sur un téléphone non rooté (un + 3).
Juste pour votre application est sur le simulateur iOS
Entrer
console.log (Realm.defaultPath)
dans le code par exemple: App.js
Tout d'abord, je reconnais qu'il s'agit d'un fil Android, mais qu'il s'agit du premier résultat de recherche relatif à ce problème en général.
Pour ouvrir la base de données Xcode Simulator Realm créée le plus récemment dans Realm Browser, vous pouvez utiliser ce script dans Automator ou saisir le tout au terminal. En utilisant Automator, j'ai un accès en un clic à mon royaume actuel.
cd ~/Library/Developer/CoreSimulator/Devices/
cd `ls -t | head -n 1`/data/Containers/Data/Application
cd `ls -t | head -n 1`/Documents
open -a 'Realm Browser' ./default.realm
Installez Realm Browser . Dans Automator, cliquez sur Nouveau, sélectionnez Exécuter le script shell, collez le code, modifiez le nom de la base de données, cliquez sur Exécuter pour tester, enregistrez le fichier dans un endroit pratique pour un accès rapide.
Je ne sais pas où j'ai trouvé cette astuce la première fois, mais ce fil m'a rappelé comment j'avais accès à mes données en direct dans le passé.
En rapide
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}
J'ai franchi une étape supplémentaire .. J'ai créé un fichier Swift appelé RealmFunctions et dans lequel j'ai créé cette fonction
import RealmSwift
func realmAndPath() -> Realm {
if dev {
// location of my desktop
return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
} else {
return try! Realm()
}
}
Maintenant, dans mon contrôleur de vue principale, j'ai une variable booléenne globale appelée dev
var dev: Bool = true // when in development mode
var dev: Bool = false // when I want to run on my device or upload to app stor.
Maintenant, tout ce que je dois faire dans mon code est
let realm = realmAndPath()
Ainsi, lorsque je suis en mode développement, je peux trouver ma base de données de domaines sur mon bureau et l’ouvrir dans le navigateur de domaines.
J'ai trouvé mon fichier de domaine en exécutant cette commande dans Terminal: Sudo find / -name "*.realm"
.
J'espère que cela t'aides!
Pour obtenir le chemin de la base de données pour iOS, le moyen le plus simple consiste à:
(lldb)
) et tapez: po RLMRealm.defaultRealmPath
Tada ... vous avez le chemin de votre base de données de royaume
La commande correcte (lldb) est: Realm.Configuration.defaultConfiguration.path
.
Si vous utilisez la base de données Realm par défaut dans le simulateur:
po Realm().configuration.fileURL
La commande lldb correcte pour Xcode 7, Swift 2.2+ est po Realm.Configuration.defaultConfiguration.path!
Pour ceux qui utilisent React Native et le domaine par défaut:
Realm.defaultPath
Solution Swift 2.3
Solution plus facile qui ne cassera pas avec les mises à jour de royaume
let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
print("App Path: \(dirPaths)")
Le fichier .realm doit être dans "Documents"
Sous Outils -> Moniteur de périphériques Android
Et sous l'explorateur de fichiers. Recherchez les applications. Et le fichier est sous data/data.