Realm对象服务器创建DB和ROS但不同步

问题描述:

我在AWS(RHAT)上设置了一个Realm对象服务器,它似乎工作正常。我可以查看仪表板,告诉我有多少个连接,以及在端口9080上打开了多少个领域。我的代码在设备上正常工作,更新发生在设备领域。但是我没有看到ROS领域有什么变化。我可能会得到一些非常基本的错误,但我不知道是什么。Realm对象服务器创建DB和ROS但不同步

func setupRealm() { 
    // Authenticating the User 
    let username = "exampleuser" 
    let password = "examplepassword" 
    SyncUser.logInWithCredentials(SyncCredentials.usernamePassword(username, password: password), authServerURL: NSURL(string: "http://example.com:9080")!, onCompletion: 
    { user, error in 
     if let user = user { 
      // Opening a remote Realm 
      let realmURL = NSURL(string: "realm://example.com:9080/~/VWF3")! 
      let config = Realm.Configuration(syncConfiguration: SyncConfiguration(user: user, realmURL: realmURL)) 
      let realm = try! Realm(configuration: config) 
      // Any changes made to this Realm will be synced across all devices! 
     } else if let error = error { 
      // handle error 
     } 
    }) 
} 

我从ViewDidLoad调用setupRealm()。

我的开发人员需要能够看到ROS领域的变化,以确保所有工作正常,但所有那些是单用户领域,表结构是准确的,零数据。

我检查了服务器上的日志文件,没有什么突出的。

马特

+1

这发生在我身上时,用户名是不是在电子邮件地址 – EpicPandaForce

+0

的格式在我的代码在后我取代实际的用户名与例如一个之前。我的实际用户名是电子邮件地址。那是你做的唯一改变吗? –

+0

是的,而不是'kecske'我做了'kecske @ xyz.com'然后它神奇地工作 – EpicPandaForce

你需要确保你仍然指的是特定Realm(和它同步配置)做你写的时候。如果您尝试在登录后尝试写let realm = try! Realm(),您仍然会引用默认Realm,该默认Realm未同步。

如果您打算让您的整个应用程序同步,您可以设置特定的Configuration作为默认域的一个:

if let user = user { 
    // Opening a remote Realm 
    let realmURL = NSURL(string: "realm://example.com:9080/~/VWF3")! 
    let config = Realm.Configuration(syncConfiguration: SyncConfiguration(user: user, realmURL: realmURL)) 
    Realm.Configuration.defaultConfiguration = configuration 
    // All calls to `Realm()` will now use this configuration 
} 

否则,你永远可以产生当你需要它的配置(或者具有全球常量类,可以为你管理它)。

let realmURL = NSURL(string: "realm://example.com:9080/~/VWF3")! 
let configuration = Realm.Configuration() 
configuration.syncConfiguration = SyncConfiguration(user: SyncUser.current, realmURL: realmURL)) 
let realm = try! Realm(configuration: configuration) 
+0

TiM,谢谢。从字面上看,现在就要开始着陆了。我会尽量在今晚进行扩充,一旦确认有效,请接受您的回答。听起来就像我缺少的基本片段。谢谢。 –

+1

TiM我们仍在努力让所有工作都能正常进行,但我可以看到您在控制台中的更改,我们正在与ROS进行同步。无法通过连接到ROS来查看它,但我认为这是一个单独的问题。已检查为正确的答案。谢谢。 –

+0

谢谢@TiM。有用。 – Jamil