¿Cómo encontrar mi archivo de dominio?

He creado una base de datos por área y no puedo encontrar el archivo porque mi sistema operativo (Yosemite) no tiene una carpeta móvil en / private / var / mobile.

¿Cómo debería acceder a mi reino para ejecutar en el navegador?

Cruz publicada de grupos de google

Encontrar un archivo de dominio

Para Android

¿Cómo ver mi archivo Realm en el navegador de dominios?

Para iOS

Si su aplicación está en el dispositivo

Asegúrese de que su dispositivo esté conectado y vaya a la ventana de dispositivos en el menú Xcode Ventana> Dispositivos (⌘⇧2). Allí podrá elegir su dispositivo y su aplicación de una lista de aplicaciones instaladas con permisos de depuración.

Después de seleccionar su aplicación, vaya al engranaje en la barra de herramientas en la parte inferior de la vista de tabla y seleccione “Descargar contenedor …” . Allí podrá extraer el archivo de la ubicación de los documentos a su Mac. Se guardará como un paquete xcappdata.

Cuando abre la ruta local en Finder, donde la guardó, puede seleccionarla seleccionando “Mostrar contenido del paquete” en el menú contextual del buscador, cuando selecciona el archivo. Se abrirá una nueva ventana de búsqueda, donde encontrará su Reino dentro de la siguiente ruta (por ejemplo): AppData / Documents / default.realm (El directorio ‘/ private / var / mobile’ es la ruta, que es utilizada por iOS en el sistema de archivos del dispositivo.

Si su aplicación está en el simulador

Ve al directorio de tu usuario:

/Users//Library/Developer/CoreSimulator/Devices//data/Containers/Data/Application//Documents/default.realm

Probablemente la forma más fácil de obtener la ruta actual del reino predeterminado es pausar el simulador e ingresar lo siguiente en la consola LLDB:

Objective-C :
(lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL

Swift usando Realm Objective-C :
(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL

Swift usando Realm Swift :
(lldb) po Realm.Configuration.defaultConfiguration.fileURL

O si tiene una instancia de RLMRealm a mano, puede usar:
(lldb) po myRealm.configuration.fileURL

Luego solo copie esta ruta, abra su terminal y escriba open [Ruta de acceso pegada aquí]

NOTA: Algunos caminos tienen un espacio en ellos, así que asegúrese de usar “\” antes del espacio para escapar

Helper Tool SimPholders

Esta es probablemente la forma más rápida de encontrar el archivo de una aplicación en el simulador. Instale SimPholders . Esto le permitirá acceder al directorio de documentos de su aplicación directamente desde la barra de menú.

Nota: Algunas personas han mencionado que SimPholders las ha llevado a la carpeta de la aplicación del simulador equivocada, si ese es su caso, imprima su ruta de dominio siguiendo los pasos anteriores, imprimiendo su realm.path

Encontré la manera más simple para iOS / macOS (para swift 3 Xcode 8.3)

 override func viewDidLoad() { // for swift 2.0 Xcode 7 print(Realm.Configuration.defaultConfiguration.fileURL!) } 

Luego, el código x registrará la ruta correcta, verifique la pantalla a continuación.

enter image description here

Ahora abra su Finder y presione + + G (comando + shift + G) y pegue la ruta que inicia sesión en su Xcode

Aquí hay una solución fácil … Me metí con esto por un tiempo. Debo señalar, este es un conjunto específico de instrucciones que usan Android Studio y el emulador AVD.

1) Inicia el emulador y ejecuta tu aplicación.

2) Mientras la aplicación aún se está ejecutando, abra el Monitor del dispositivo Android. (Está en la barra de herramientas al lado de los íconos del administrador de AVD y SDK)

3) Haga clic en la pestaña Explorador de archivos en el Monitor del dispositivo. Debe haber muchas carpetas.

4) Navegue por la siguiente ruta: Datos> Datos> Nombre de su paquete > archivos> Valor predeterminado.Realm (o como lo haya llamado)

Ex. Si está utilizando uno de los proyectos de ejemplo del reino, la ruta sería algo así como Datos> Datos> io.realm.examples.realmgridview> archivos> default.realm

5) Resalta el archivo, haz clic en el ícono del disquete en el área superior derecha “extrae un archivo del dispositivo”

6) Guárdelo donde desee y listo.

Lo que hice fue usar

 let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm") 

y luego se crea a la vista en mi escritorio y puedo hacer doble clic para abrir el buscador de dominios en él. Más tarde, puedo eliminar el parámetro y dejar que use la ubicación predeterminada cuando estoy satisfecho de que todo está funcionando como se esperaba.

Objective-C – [RLMRealmConfiguration defaultConfiguration].fileURL

 NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL); 

Eg- / Users / “Your-user-name” / Biblioteca / Desarrollador / CoreSimulator / Devices / E58645FF-90DE-434D-B2EB-FA145EB6F2EA / data / Containers / Data / Application / E427BD21-2CB1-4F64-9ADF-8742FF731209 / Documents /

Este es el comando más simple que puede ejecutar para obtener su ruta al archivo .realm. Verá el archivo .realm después de que se hayan completado todas sus operaciones de lectura y escritura.

O

Puede abrir OpenSim fuente, alternativa de simpholders para acceder al directorio de documentos de su aplicación directamente desde su barra de menú

Una alternativa fácil para aplicaciones de simulador

Cree una carpeta / búsqueda inteligente en Finder. Ofrece acceso rápido y fácil a todos tus archivos de dominio.

  1. Abra la carpeta /Users/$USER/Library/Developer/CoreSimulator/Devices en Finder.

    Con la terminal open /Users/$USER/Library/Developer/CoreSimulator/Devices

  2. Buscar .realm

  3. Cambie la búsqueda para buscar solo en la carpeta "Devices" .

  1. Guarde la búsqueda en su barra lateral (por ejemplo, como Reinos)

Cuando se ordena por fecha, obtendrá una lista rápida y fácil de hacer clic en los últimos archivos modificados .realm Simulator.

Respuesta actualizada al nuevo Reino:

Para Android:

checkout stetho y https://github.com/uPhyca/stetho-realm Video tutorial aquí: https://www.youtube.com/watch?v=9pFJz5VexRw

Para IOS (Swift)

Ya sea:

 debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString) 

o

Paso 1: tener una constante llamada dev en alguna parte. Digamos archivo constante

 public class Constants { public static var dev: Bool = true } 

Paso 2: crea otra clase llamada 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() } } 

Paso 3: finalmente en tu controlador de vista:

 let realm = realmAndPath() 

gracias a Stewart Lynch por la respuesta original

Si obtiene el error del cuadro de diálogo “Introducir clave de encriptación”:

Estoy usando Swift 2.1 con Realm 0.96.2 y recibí este error al intentar abrir el archivo de la base de datos:

‘default’ no se pudo abrir. Puede estar encriptado, o no está en un formato de archivo compatible. Si sabe que el archivo está encriptado, puede ingresar manualmente su clave de encriptación para abrirlo.

Se encontró que el uso de la versión preliminar del Realm Browser 0.96 solucionó el problema:

https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease

En primer lugar, reconozco que se trata de un hilo de Android, pero es el primer resultado de búsqueda para este problema en general.

Para abrir el dominio Xb Realm db creado recientemente creado en Realm Browser, puede utilizar este script en Automator o escribirlo todo en la terminal. Al usar Automator, tengo acceso con un clic a mi reino actual.

  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 

Instalar el navegador de dominios. En Automator, haga clic en Nuevo, seleccione Ejecutar script de shell, pegue el código, cambie el nombre de Realm Db, haga clic en Ejecutar para probar, guarde el archivo en un lugar conveniente para acceder con un clic rápido.

No sé dónde encontré este consejo la primera vez, pero este hilo me recordó cómo estaba accediendo a mis datos en vivo en el pasado.

He llevado esto un paso más allá. He creado un archivo rápido llamado RealmFunctions y en él, he creado esta función

  import RealmSwift func realmAndPath() -> Realm { if dev { // location of my desktop return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm") } else { return try! Realm() } } 

Ahora en mi controlador de vista principal, tengo una variable booleana global llamada 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. 

Ahora, todo lo que tengo que hacer en mi código es

 let realm = realmAndPath() 

Entonces, cuando estoy en modo de desarrollo, puedo encontrar mi base de datos de dominios en mi escritorio y puedo abrir en el buscador de dominios.

Encontré mi archivo de dominio al emitir este comando en Terminal: sudo find / -name "*.realm" .

¡Espero que esto ayude!

En Swift

 func getFilePath() -> URL? { let realm = try! Realm() return realm.configuration.fileURL } 

Las respuestas anteriores carecen de una forma de encontrar el archivo de dominio en la plataforma Android y créanme de esta manera le ahorrará mucho tiempo que generalmente desperdiciamos en otros enfoques para obtener el archivo de dominio. Así que comencemos …

Primero abra “Device File Explorer” en el estudio de Android (Ver -> Herramientas de Windows -> Device File Explorer.

Esto abrirá el explorador de tu dispositivo.

enter image description here

ahora abre datos -> datos -> (tu_nombre_paquete_app) -> archivos -> default.realm

default.realm es el archivo para el que estamos aquí. Ahora, guarde este archivo en su ubicación y acceda al archivo de realm_browser y obtendrá su base de datos.

NOTA: El enfoque mencionado se prueba en un teléfono no rooteado (uno + 3).

Para obtener la ruta DB para iOS, la forma más simple es:

  1. Inicie su aplicación en un simulador
  2. Pausa en cualquier momento en el depurador
  3. Vaya a la consola (donde tiene (lldb) ) y escriba: po RLMRealm.defaultRealmPath

Tada … tienes el camino a tu base de datos del reino

El comando correcto (lldb) es: Realm.Configuration.defaultConfiguration.path .

Solo para que tu aplicación esté en el simulador de iOS

Entrar

 console.log (Realm.defaultPath) 

en el código, por ejemplo: App.js

En Herramientas -> Dispositivo Android Monitor

Y en File Explorer. Busque las aplicaciones. Y el archivo está en datos / datos.

El comando lldb correcto para Xcode 7, Swift 2.2+ es po Realm.Configuration.defaultConfiguration.path!

Solución Swift 2.3

Una solución más fácil que no se romperá con las actualizaciones de Reino

  let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) print("App Path: \(dirPaths)") 

El archivo .realm debe estar dentro de “Documentos”

Para aquellos que usan React Native y usan el reino predeterminado:

Realm.defaultPath