我已经通过领域创建了一个DB,我无法找到文件,因为我的操作系统(Yosemite)在/private/var/mobile中没有移动文件夹。
我应该如何访问我的领域以在浏览器中运行?
交叉张贴从谷歌组
我已经通过领域创建了一个DB,我无法找到文件,因为我的操作系统(Yosemite)在/private/var/mobile中没有移动文件夹。
我应该如何访问我的领域以在浏览器中运行?
交叉张贴从谷歌组
当前回答
我为iOS/macOS找到了最简单的方法 (适用于swift 3 Xcode 8.3)
override func viewDidLoad() {
// for swift 2.0 Xcode 7
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
然后x代码将记录正确的路径,检查下面的屏幕。
现在打开你的Finder并按⌘+ +G (command+shift+G)并粘贴到Xcode上的日志路径
其他回答
上面的答案是在Android平台上找不到领域文件的方法,相信我,这种方法会节省你很多时间,而我们通常用其他方法来获取领域文件。让我们开始…
首先在android studio中打开“设备文件资源管理器”(查看-> Tools Windows) ->设备文件资源管理器。
这将打开您的设备资源管理器。
现在打开data -> data -> (your_app_package_name) -> files -> default.realm
违约。Realm是我们在这里的文件。现在Save_as这个文件在您的位置,并从realm_browser访问该文件,您将得到您的数据库。
注意:上述方法是在非root手机(1 +3)上测试的。
正如前面提到的,您可以使用next方法来查找文件位置
//code
Realm.Configuration.defaultConfiguration.fileURL
//lldb
(lldb) po Realm.Configuration.defaultConfiguration.fileURL
或者你可以手动找到它:
//Simulator
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/
//for example
/Users/alex/Library/Developer/CoreSimulator/Devices/E1D084B0-CD97-41B4-871F-E131CA33F635/data/Containers/Data/Application/373721C7-2381-4E3D-9ABC-2147F748322F/Documents/
//iPhone (download a copy)
Xcode -> Window -> Devices and Simulators -> Devices -> <select device and app> -> App container actions -> Download Container... -> <selectfolder and navigate to it (.xcappdata)> -> Right Click -> Show Package Consents -> AppData -> Documents
*请注意,如果你为realm设置了文件名,并且它有一些其他扩展名而不是。realm, RealmStudio默认不会打开它
这里有一个简单的解决办法。我搞砸了一段时间。我要指出的是,这是一组使用Android Studio和AVD模拟器的特定指令。
1)启动模拟器并运行应用程序。
2)当应用程序仍在运行时,打开Android设备监视器。(它在工具栏旁边的AVD和SDK管理器图标)
3)在“设备监控”中单击“文件资源管理器”页签。应该有很多文件夹。
4)进入如下路径:数据>数据>您的包名>文件>默认。王国(或者其他你命名的地方)
例如,如果你正在使用一个领域示例项目,路径将是类似于Data>Data>io.realm.examples.realmgridview>files>default.realm
5)选中文件,点击右上角的软盘图标“从设备中提取文件”
6)把它保存到任何你想要的地方。
要获得iOS的DB路径,最简单的方法是:
在模拟器中启动应用程序 在调试器中随时暂停它 转到控制台(您有(lldb))并键入:po RLMRealm.defaultRealmPath
恩……您拥有到域数据库的路径
在斯威夫特
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}