func signIn(username: String, password: String) {

isSigningIn = true
_ = LCUser.logIn(username: username, password: password) { [self] result in
  switch result {
  case .success:
    userId = LCApplication.default.currentUser!.objectId!.stringValue!
  case .failure(let error):
    if error.errorCode == 211 {
      signUpThenLogIn(username: username, password: password)
    } else {
      alertMessage = AlertMessage(title: "💩", detail: NSLocalizedString("WRONG USER NAME OR PASSWORD", comment: ""))
    }
    isSigningIn = false
  }
}

}

以上是登陆的代码,问题仅在部分设备上出现,其它已经登陆的设备,杀死app后依然是登陆状态

[❤️][error][LeanCloud][2020-11-29 22:53:34.506][User.swift][#111][currentUser(application:)]: Error Domain=NSCocoaErrorDomain Code=3840 "Unescaped control character around character 2758." UserInfo={NSDebugDescription=Unescaped control character around character 2758.}

请问使用的 SDK 的版本号是什么?

😲 SPM 居然没有跟上版本更新!
我手动更新下

这是和 JSON 解析有关的错误,可能您需要处理一下数据里的特殊字符。

什么字符算是特殊字符呢?
文档里面有涉及吗?

我登陆方法用的用户名和密码都是字母

错误信息里有说明,是 character 2758,如果要使用该字符,需对其进行转义。

我怎么知道 character 2758 指的是哪一个呢?

log 全开了之后发现了这个信息
CredStore - performQuery - Error copying matching creds. Error=-25300, query={
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = htps;
"r_Attributes" = 1;
sdmn = "2v2kimkv.lc-cn-n1-shared.com";
srvr = "2v2kimkv.lc-cn-n1-shared.com";
sync = syna;
}

我研究了一下,这个几乎肯定是SDK的bug

请问这个问题要怎么解决额?我也遇见这个问题了。

我问题解决了
解决方法是启用LeanCloud
迁移到了AWS

这个bug被我解决了
是我自己的问题😅

问题出在我在LeanCloud初始化之前访问了
LCApplication.default.currentUser?.objectId?.stringValue
然后返回一个nil导致重新登陆
对SwiftUI lifecyle不是很熟悉导致的
谢谢@pzheng的指导