【问题标题】:Cannot open default.realm file using Realm Studio or Realm Browser无法使用 Realm Studio 或 Realm Browser 打开 default.realm 文件
【发布时间】:2020-09-21 13:40:10
【问题描述】:

我已经检查了有关此问题的其他线程,但未能成功实施答案,因此求助于开始另一篇文章。对不起!

我目前正在完成 Swift 课程,并且在第一次使用 Realm 时遇到了一些问题。使用 Cocoapods 将 Realm 安装到我的应用程序中似乎是按计划进行的,但是在尝试打开 Realm 数据库(default.realm)时,我遇到了以下错误:

使用 Realm 浏览器打开时出错,要求提供加密密钥(不知道从哪里得到这个,但从其他帖子来看,这似乎与打开同步 Realm 文件的本地版本有关) : screenshot1

使用 Realm Studio 打开时出现错误消息: screenshot2

我曾尝试下载 Realm Studio 的早期版本,但无济于事。我还不想更新到 Xcode 12,因为我正在完成的课程与 Xcode 11 相关,而且我正在完成一个项目。似乎问题与领域有关。

以下是 cocoapods 版本等的一些详细信息:

豆荚:

  • 领域 (5.4.2):
    • 领域/标头 (= 5.4.2)
  • 领域/标题 (5.4.2)
  • RealmSwift (5.4.2):
    • 领域 (= 5.4.2)

依赖关系:

  • RealmSwift

SPEC REPOS:主干: - 领域 - RealmSwift

规格校验和:领域:ced868eb0254f8d33a21c06981355e5aa33bc005
RealmSwift: aedc4363150f3c61f91ae0537ed116d2d080a4dd

PODFILE 校验和:4b5257d74bf1a8c39ac0b1f3a9a6e9fd23a03b98

可可豆类:1.9.3 ~
"Podfile.lock" 22L, 408C

以下是我正在运行的一些详细信息

产品名称:Mac OS X ProductVersion:10.15.5 BuildVersion:19F101

/Applications/Xcode.app/Contents/Developer Xcode 11.6 Build 版本 11E708

/usr/local/bin/pod 1.9.3 Realm (5.4.2) RealmSwift (5.4.2)

/bin/bash GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin19)

/usr/bin/git git 版本 2.24.3 (Apple Git-128)

这是来自 AppDelegate 的代码,不确定它是否有帮助,但打印语句是我找到 default.realm 文件的方式:

import UIKit
import CoreData
import RealmSwift

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
    print(Realm.Configuration.defaultConfiguration.fileURL!)
    
    let data = Data()
    data.name = "Josh"
    data.age = 13
    
    do {
        let realm = try Realm()
        try realm.write {
            realm.add(data)
        }
    } catch {
        print("Error initialising new Realm: \(error)")
    }

抱歉,但我才刚刚开始学习,并不知道在打开 default.realm 文件时从这里到哪里去,所以任何帮助都将不胜感激!

【问题讨论】:

  • 欢迎来到 SO。在发布问题之前进行一些研究是个好主意。它可以节省大量时间。请参阅此question and answerthis one。此外,Realm Browser 是一种已折旧的产品,不应使用。 Realm Studio 是 Realm 和 MongoDB Realm 的合适替代品。
  • 另外,作为旁注,尽量避免使用与现有类相同的名称来命名类; Data 是一个以 NSData 开头的 Swift 类。尝试更具描述性; class UserClass: Object { 保存用户数据或class CarClass: Object { 保存有关特定汽车的信息
  • 感谢杰伊的回复。我实际上找到了那些确切的帖子,但对于初学者来说,这有点难以理解。在发布问题之前,我尝试安装 3.10 版(根据第一个链接),但遇到了同样的问题。此外,我实际上并没有使用 mongoDB,所以第二个答案不适用。也许我正在学习的模块已经过时,所以我将使用不同的教程来学习 mongoDB Realm。再次感谢。附带说明一下,Data 类虽然不理想,但实际上是教程的一部分,并被用作 Realm 工作原理的示例,尽管如此
  • 第二篇文章高度相关,因为 Realm 将在某个时候贬值,以支持 MongoDB Realm。您真的应该阅读其中的入门指南。我真的会推荐经典的 Realm SDK 5.x,Realm Getting Started。如果您想探索 Beta MongoDB 领域,请访问 Getting Started
  • 我已经完成了第一个链接“Realm Getting Started”中的程序大约 5 次,使用一个全新的项目,最新版本的 Cocoapods、Realm 和 Realm Studio,但仍然得到“尝试打开 default.realm 文件时,此版本的 Realm 消息不支持打开格式版本 11 的 Realm 文件(使用此代码定位:print(Realm.Configuration.defaultConfiguration.fileURL)。我想我可能会解雇 Realm 并选择 MongoDB Realm Beta 版,如果那将是未来的话。再次感谢

标签: ios swift xcode realm


【解决方案1】:

随着新版本 Realm Studio 的发布,并将所有内容更新到最新版本,特别是 Cocoapods 1.10 beta、Realm 5.4.3 和 Realm Studio 5.0,Realm Studio 现在能够打开 default.realm 文件。

【讨论】:

    【解决方案2】:

    我也无法打开 default.realm 文件(我使用的是 Realm Studio 版本 3.10.1)。而且也无法连接到领域云。我查看了领域工作室网站,发现该应用程序现在被称为“MongoDB Realm Studio”,而不是“Reaml Studio”了。我安装了新应用程序,现在可以打开它了。

    【讨论】:

      猜你喜欢
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多