在 Realm Swift 版本 2.0.4 中同步身份验证

Sync Authentication in Realm Swift Version 2.0.4

我在我的 Swift 项目中升级到 Realm 2.0.4,现在 authenticate 方法不起作用。我无法再创建新用户或登录我的 Realm 同步服务器。

发生了什么变化?

Realm Swift 2.0.4 中有一些重大更改,现在只有一个 SyncUser.logIn 方法可供使用。是否登录或注册取决于您传入的SyncCredentials类型。

这是一个使用 Swift 3.0.1 的示例:

//Create Account
let signUpCredentials = SyncCredentials.usernamePassword(username: "username", password: "password", register: true)

SyncUser.logIn(with: signUpCredentials, server: serverURL) { user, error in
  if user == nil {
    //Error
  }else{
    //Success
  }
}

 //Log in
 let logInCredentials = SyncCredentials.usernamePassword(username: "username", password: "password")

 SyncUser.logIn(with: logInCredentials, server: serverURL) { user, error in
  if user == nil {
    //Error
  }else{
    //Success
  }
}

请注意如何为帐户创建添加 register 标记。这段代码比旧方法更容易理解,也更 DRY,感谢 Realm Swift 团队。

我希望这对其他人有帮助。