Я создал базу данных по realm, и я не могу найти файл, так как моя ОС (Yosemite) не имеет мобильной папки в /private/var/mobile.
Как мне получить доступ к моей сфере для запуска в браузере?
Перекресток, отправленный из групп google
Я создал базу данных по realm, и я не могу найти файл, так как моя ОС (Yosemite) не имеет мобильной папки в /private/var/mobile.
Как мне получить доступ к моей сфере для запуска в браузере?
Перекресток, отправленный из групп google
Как просмотреть файл Realm в браузере Realm?
Убедитесь, что ваше устройство подключено и перейдите в окно устройств в меню Xcode Окно > Устройства (⌘⇧2). Там вы сможете выбрать свое устройство и свое приложение из списка установленных приложений с разрешениями отладки.
После выбора своего приложения перейдите в шестерню на панели инструментов в нижней части таблицы и выберите "Загрузить контейнер..." . Там вы сможете вытащить файл из местоположения документов на ваш Mac. Он будет сохранен как пакет xcappdata.
Когда вы открываете локальный путь в Finder, где вы его сохранили, вы можете нажать на него, выбрав "Показать содержимое пакета" в контекстном меню искателя при выборе файла. Откроется новое окно Finder, в котором вы найдете свое Realm внутри следующего пути (например): AppData/Documents/default.realm(каталог/private/var/mobile) - это путь, который используется iOS на файловой системы устройства.
Перейдите в каталог своих пользователей:
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm
Вероятно, самый простой способ получить текущий путь по умолчанию - приостановить симулятор и ввести в консоль LLDB следующее:
Objective-C: (lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL
Swift с использованием Realm Objective-C: (lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL
Swift с использованием Realm Swift: (lldb) po Realm.Configuration.defaultConfiguration.fileURL
Или, если у вас есть экземпляр RLMRealm
, вы можете использовать: (lldb) po myRealm.configuration.fileURL
Затем просто скопируйте этот путь, откройте свой терминал и введите open
[Вложенный путь здесь]
ПРИМЕЧАНИЕ. Некоторые пути имеют в них пробел, поэтому обязательно используйте "\" перед пробелом, чтобы избежать его.
Это, вероятно, самый быстрый способ найти файл приложения в симуляторе. Установите SimPholders. Это позволит вам получить доступ к каталогу документов приложений непосредственно из панели меню.
Примечание. Некоторые люди упомянули, что SimPholders взяли их в неправильную папку приложения для симулятора, если это вам подходит, распечатайте свой путь в реальном мире, выполнив описанные выше шаги, распечатав свою область. путь
Я нашел самый простой способ для iOS/macOS (для быстрого 3 Xcode 8.3)
override func viewDidLoad() {
// for swift 2.0 Xcode 7
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
Затем x-код зарегистрирует правильный путь, проверьте экран ниже.
Теперь откройте Finder и нажмите ⌘ + ⇧ + G (команда + shift + G) и вставьте путь, который регистрируется на вашем Xcode
Вот простое решение. Некоторое время я испортил это. Я должен отметить, что это определенный набор инструкций с использованием Android Studio и AVD Emulator.
1) Запустите эмулятор и запустите приложение.
2) Пока приложение все еще работает, откройте монитор устройств Android. (его на панели инструментов рядом с иконками менеджера AVD и SDK)
3) Перейдите на вкладку "Проводник" в "Мониторе устройств". Там должно быть много папок.
4) Перейдите по следующему пути: Data > Data > Имя вашего пакетa > files > Default.Realm(или как вы его назвали)
Ex. Если вы используете один из проектов примера области, путь будет выглядеть как Data > Data > io.realm.examples.realmgridview > files > default.realm
5) Выделите файл, щелкните значок Floppy Disk в верхней правой области "вытащите файл с устройства"
6) Сэкономьте это, если хотите и сделаете.
То, что я сделал, это использовать
let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
а затем он создается в полном виде на моем рабочем столе, и я могу дважды щелкнуть, чтобы запустить браузер Realm на нем. Позже я могу удалить параметр и позволить ему использовать местоположение по умолчанию, когда я уверен, что все работает как ожидалось.
Objective-C - [RLMRealmConfiguration defaultConfiguration].fileURL
NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);
eg-/Users/ "Ваш-имя пользователя" /Library/Developer/CoreSimulator/Devices/E 58645FF-90DE-434D-B2EB-FA145EB6F2EA/данные/Контейнеры/Data/Application/E427BD21-2CB1-4F64-9ADF- 8742FF731209/Документы/
Это простейшая команда, которую вы можете запустить, чтобы получить свой путь к файлу .realm. Вы увидите файл .realm после завершения всех операций чтения и записи.
Или
Вы можете открыть источник openSim, альтернативный simpholders, чтобы получить доступ к каталогу документов приложений непосредственно из панели меню
Создайте интеллектуальную папку/поиск в Finder. Предоставляет быстрый и удобный доступ ко всем вашим файлам в реальном времени.
Откройте папку /Users/$USER/Library/Developer/CoreSimulator/Devices
в Finder.
С open/Users/$USER/Library/Developer/CoreSimulator/Devices
терминалом open/Users/$USER/Library/Developer/CoreSimulator/Devices
Поиск .realm
Измените поиск только в папке "Devices"
.
При сортировке по дате это даст вам быстрый и легкий доступный список последних модифицированных файлов Simulator. .realm
.
checkout stetho и https://github.com/uPhyca/stetho-realm Видеоурок здесь: https://www.youtube.com/watch?v=9pFJz5VexRw
Либо:
debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)
Шаг 1: У вас есть константа, называемая dev где-нибудь. Пусть говорят, что файл констант
public class Constants {
public static var dev: Bool = true
}
Шаг 2: Создайте еще один класс под названием 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()
}
}
Шаг 3:, наконец, в вашем контроллере просмотра:
let realm = realmAndPath()
благодаря Стюарту Линчу за оригинальный ответ
Если вы получаете диалоговое окно "Введите ключ шифрования":
Я использую Swift 2.1 с Realm 0.96.2 и получаю эту ошибку при попытке открыть файл базы данных:
"default" не может быть открыт. Он может быть зашифрован или не совместим с форматом файла. Если вы знаете, что файл зашифрован, вы можете вручную ввести его ключ шифрования, чтобы открыть его.
Установлено, что с использованием предварительной версии Realm Browser 0.96 исправлена проблема:
https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease
Во-первых, я признаю, что это поток Android, но это первый результат поиска для этой проблемы в целом.
Чтобы открыть последний созданный Xcode Simulator Realm db в Realm Browser, вы можете использовать этот script в Automator или ввести его все на терминале. Используя Automator, у меня есть доступ одним кликом к моей нынешней области.
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
Установите браузер Realm. В Automator нажмите "Создать", выберите "Запустить оболочку" Script, вставьте код, измените имя Realm Db, нажмите "Выполнить", чтобы проверить, сохраните файл где-то удобным для быстрого доступа по клику.
Я не знаю, где я нашел этот совет в первый раз, но этот поток напомнил мне, как я обращался к моим данным в прошлом.
Я сделал еще один шаг. Я создал быстрый файл с именем RealmFunctions, и в нем я создал эту функцию
import RealmSwift
func realmAndPath() -> Realm {
if dev {
// location of my desktop
return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
} else {
return try! Realm()
}
}
Теперь в моем основном контроллере представления у меня есть глобальная логическая переменная с именем 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.
Теперь, все, что я должен сделать в своем коде,
let realm = realmAndPath()
Итак, когда в режиме разработки я могу найти свою базу данных на моем рабочем столе и открыть ее в браузере Realm.
Я нашел свой файл realm, выпустив эту команду в Terminal:
sudo find / -name "*.realm"
.
Надеюсь, это поможет!
В Swift
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}
В приведенных выше ответах отсутствует способ найти файл в реальном времени на платформе Android, и я считаю, что этот способ сэкономит ваше время, которое мы обычно тратим в других подходах, чтобы получить файл царства. Так что давайте начнем...
Сначала откройте "Device File Explorer" в студии Android (View → Tools Windows → Device File Explorer.
Это откроет ваш проводник устройств.
теперь открытые данные → данные → (your_app_package_name) → файлы → default.realm
default.realm - файл, для которого мы здесь. Теперь Save_as этот файл в вашем местоположении и доступ к файлу из realm_browser, и вы получите свою базу данных.
ПРИМЕЧАНИЕ. Упомянутый подход проверяется на некорневом телефоне (один + 3).
Чтобы получить путь к базе данных для iOS, самый простой способ:
(lldb)
) и введите: po RLMRealm.defaultRealmPath
Tada... у вас есть путь к базе данных вашего королевства
Правильная команда (lldb): Realm.Configuration.defaultConfiguration.path
.
Просто для вашего приложения есть симулятор iOS
Войти
console.log (Realm.defaultPath)
в коде, например: App.js
В разделе Инструменты → Монитор устройств Android
И в разделе "Проводник". Поиск приложений. И файл находится под данными/данными.
Правильная команда lldb для Xcode 7, Swift 2.2+ - po Realm.Configuration.defaultConfiguration.path!
Решение Swift 2.3
Простое решение, которое не будет работать с обновлениями Realm
let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
print("App Path: \(dirPaths)")
Файл .realm должен находиться внутри "Документов"
Для тех, кто использует React Native и использует область по умолчанию:
Realm.defaultPath