SyncConfiguration 已弃用,SyncUser.configuration() 的正确用法是什么?

2024-02-28

我开始从 Realm 收到以下警告:

'init(user:realmURL:enableSSLValidation:isPartial:urlPrefix:)' 已弃用:使用 SyncUser.configuration() 代替

我明白警告的意思,但我无法理解SyncUser.configuration()才能正常工作。这是我当前(已弃用)的实现:

if let _ = SyncUser.current {
    // already logged in
    let syncConfig = SyncConfiguration(user: SyncUser.current!, realmURL: Settings.Credentials.REALM_URL!)
    let config = Realm.Configuration(syncConfiguration: syncConfig, objectTypes: [ConfigItem.self, Intersection.self])

    self.database = try! Realm(configuration: config)
}
else {
    let creds = SyncCredentials.usernamePassword(username: Settings.Credentials.REALM_LOGIN, password: Settings.Credentials.REALM_KEY)

    SyncUser.logIn(with: creds, server: Settings.Credentials.AUTH_URL!, onCompletion: { [weak self](user, error) in
        if let _ = user {
            let syncConfig = SyncConfiguration(user: SyncUser.current!, realmURL: Settings.Credentials.REALM_URL!)
            let config = Realm.Configuration(syncConfiguration: syncConfig, objectTypes: [ConfigItem.self, Intersection.self])

            self?.database = try! Realm(configuration: config)
        } else if let error = error {
            fatalError(error.localizedDescription)
        }
    })
}

两条线let syncConfig = ......是我收到警告的地方。我可以让应用程序正确编译,替换两行配置,如下所示:

let config = SyncUser.current!.configuration(realmURL: Settings.Credentials.REALM_URL!)

但是,这不允许我连接到我的同步领域。使用上述内容,也无法指定您要同步的对象类型。有没有人从已弃用的版本中迁移出来SyncConfiguration配置同步领域的方法?看起来它应该接近我正在尝试的内容,但由于某种原因它没有连接。

EDIT

如果我使用默认的SyncUser.configuration(),它至少会给我它已连接到端点的消息,但数据不同步。这里是config使用默认同步配置:

let config = SyncUser.current!.configuration()

如果我添加realmURL参数回来,它不再给我连接到端点消息。此外,已弃用的方法仍然是文档中显示的方法https://realm.io/docs/swift/latest/#realms https://realm.io/docs/swift/latest/#realms:

// Create the configuration
let syncServerURL = URL(string: "realm://localhost:9080/~/userRealm")!
let config = Realm.Configuration(syncConfiguration: SyncConfiguration(user: user, realmURL: syncServerURL))

// Open the remote Realm
let realm = try! Realm(configuration: config)

let config = SyncUser.current!.configuration(realmURL: url, fullSynchronization: false, enableSSLValidation: true, urlPrefix: nil)

我从他们的客户支持那里得到了这个链接:https://realm.io/docs/swift/3.7.5/api/Extensions/SyncUser.html#/s:So11RLMSyncUserC10RealmSwiftE13configurationAC0C0C13ConfigurationV10Foundation3URLVSg05realmH0_Sb19fullSynchronizationSb19enableSSLValidationSSSg9urlPrefixtF https://realm.io/docs/swift/3.7.5/api/Extensions/SyncUser.html#/s:So11RLMSyncUserC10RealmSwiftE13configurationAC0C0C13ConfigurationV10Foundation3URLVSg05realmH0_Sb19fullSynchronizationSb19enableSSLValidationSSSg9urlPrefixtF

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SyncConfiguration 已弃用,SyncUser.configuration() 的正确用法是什么? 的相关文章

  • 在 Swift 中寻找“退出”等价物[重复]

    这个问题在这里已经有答案了 我尝试把exit 0 在一个小型测试 命令行 程序中 Xcode 给出了一条错误消息 指出Use of unresolved identifier exit 这让我很困惑 因为这个问题 https stackov
  • 如何在导航栏中添加右键?

    我有一个问题要在导航栏中添加右键 我有两个视图 视图 A 和视图 B 我添加了一个导航栏来查看A 之后我使用了self navigationController pushViewController显示视图 B 视图B的导航栏左侧自动显示一
  • CSV 解析 - Swift 4

    我正在尝试解析 CSV 但遇到一些问题 下面是我用来解析 CSV 的代码 let fileURL Bundle main url forResource test application data Sheet 1 withExtension
  • 从数组中获取随机字符串[重复]

    这个问题在这里已经有答案了 我试图从数组 firstArray 中获取随机字符串并将其打印在 UILabel label 中 我似乎无法弄清楚并且出现错误 感谢您的帮助 我尝试搜索但找不到任何最新的教程 方法 import UIKit cl
  • 如何在 iOS 上压缩 Realm DB?

    我想定期压缩 iOS 上的 Realm 实例以回收空间 我认为该过程是将数据库复制到临时位置 然后将其复制回来并使用新的default realm 文件 我的问题是Realm 其行为就像单例并回收对象 因此我无法真正关闭它并告诉它打开新的
  • 在没有预览窗口的情况下使用 AVCaptureVideoDataOutputSampleBufferDelegate

    我正在开发一个基于 Swift 的 macOS 应用程序 我需要捕获视频输入 但不将其显示在屏幕上 而不是显示视频 我想将缓冲的数据发送到其他地方进行处理 并最终显示它在 a 中的一个物体上SceneKit scene 我有一个Camera
  • 使用完成处理程序在 Swift 中调用连续动画

    我正在制作一个可以显示化学反应动画的应用程序 每个原子都是一个 SCNSphere 并通过 SCNActions 进行动画处理 我尝试使用 runAction 中的完成处理程序在当前操作完成后调用下一个动画 因为每个原子必须做出很多不同的运
  • 从“NSPercientStoreResult”转换为不相关类型“Entity”总是失败

    我正在创建一个小应用程序来学习 CoreData 中的多对多关系 但是 使用下面的代码 从 NSFetchResult 到实体类 Groepering 的转换出现错误 与我的项目相比 我在互联网上找到的示例没有看到任何差异 为什么转换仍然失
  • 当我输入字符时,SwiftUI 中的 TextField 失去焦点

    当我在文本字段中输入字符时遇到问题 在练习集视图 我必须重新单击文本框才能输入另一个字符 如果我从文本字段中删除绑定 我可以流畅地输入文本 我认为这与我的演讲者班级和更新集函数重新创建一个集合实例 因为我必须替换数组中两层深处的一些值 Co
  • GeoFire Swift 3 - 保存和更新坐标

    我正在尝试使用 GeoFire 将坐标存储到 Firebase 数据库中 我不确定如何更新新坐标 因为它们每秒都会更改 更新 随着childByAutoId 它正在为每辆自行车生成一个新的唯一 ID 如何引用这个唯一的自行车 ID 例如 用
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • 作为!与 Swift 中 Xcode 6.3 中的 as 运算符对比

    Xcode 6 3 使 Swift 发生了很大变化 我必须更换每个应用程序中的数十个位置as gt as 为什么 现在有什么规则 在 Swift 1 2 之前 as运算符可用于执行两种不同类型的转换 具体取决于要转换的表达式的类型及其要转换
  • Xcode 8 / Swift 3:“UIViewController 类型的表达式?未使用”警告

    我有以下函数 它之前编译得很干净 但在 Xcode 8 中生成警告 func exitViewController navigationController popViewController animated true UIViewCon
  • SwiftUI:发送电子邮件

    在正常情况下UIViewController在 Swift 中 我使用此代码发送邮件 let mailComposeViewController configuredMailComposeViewController mailCompose
  • 如何在 iOS 13 中将 UISegmentedControl 的背景颜色设置为白色

    iOS 13 对 UISegmentedControl 进行了一些更改 包括切换所选片段时的非常漂亮的动画 但是我注意到它没有显示backgroundColor属性正确 它似乎总是有一点色彩 我见过回答如何设置的问题selectedSegm
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • 关闭捕获上下文 Swift

    当我尝试更改闭包中的变量时出现此错误 A C function pointer cannot be formed from a closure that captures context 是否有解决方法或者仍然可以更改闭包内的变量 My C
  • 在 Object 子类及其自己的子类上实现ignoreProperties()

    我是领域新手 我正在使用继承自 Object 的基类以及该基类的自定义子类创建模型 我的模型要求基类通过覆盖静态来声明一些属性被忽略ignoredProperties 方法 当尝试在某些基类子类上重写该方法时 我收到一个 Swift 编译器

随机推荐