解析错误代码 209 和 -34018

Parse error codes 209 and -34018

提问人: 提问时间:5/4/2015 最后编辑:Community 更新时间:9/16/2023 访问量:1360

问:

我花了几个小时学习 Parse 上的用户管理,考虑到它已经是一项成熟的服务很长时间了,我认为这很容易。

关于“自动用户”和会话的文档很差。

我正在尝试构建一个应用程序,允许用户在决定注册之前匿名存在(使用 )。[PFUser enableAutomaticUser]

报名步骤:

  1. 从 UI 收集用户详细信息
  2. 注销当前自动用户并等待成功
  3. 成功后,使用并赋值创建用户对象[PFUser user]
  4. 调用新用户实例signUpInBackgroundWithBlock

在执行上述操作时,我有时会遇到以下错误(是的,只是有时)。

[错误]:PFKeychainStore 无法获取键“currentUser”的对象,错误:-34018

[错误]:会话令牌无效(代码:209,版本:1.7.0)

我最终还得到了一个脏数据库,因为我不知道如何删除以前创建的自动用户。我尝试保留旧用户的对象 ID 并使用,但这不起作用?deleteEventually

关于如何实现这一目标的任何建议都很棒。

ios 解析平台

评论

0赞 Rog 5/12/2015
我的猜测是缓存的用户没有被删除。您是否尝试过在 clouded 中创建新用户,将用户令牌传回,然后在客户端上使用 becomeUser?
2赞 C0D3 11/3/2015
我遇到了同样的问题:PFKeychainStore 无法获取键“currentUser”的对象,出现错误:-34018
3赞 hhanesand 12/2/2015
您不必在注册前删除当前用户,只需将其视为普通用户,当您调用它时,它将从匿名用户转换。signUp
0赞 ewizard 9/6/2016
我不确定这个...但是,将您正在创建的用户设置为执行之前是否有意义?或?我不确定你是否可以这样设置,但如果这是相关的,它值得一试。[PFUser user]currentUsersignUpInBackgroundWithBlockPFUser *x = [PFUser user]; [PFUser currentUser] = xcurrentUser
0赞 Simoyw 2/10/2017
当我在两个位置使用一个用户登录,然后从两个位置注销时,我收到此错误。然后,其他位置上的会话将失效,并且您会收到此错误。

答:

0赞 Finder丶Tiwk 11/22/2016 #1

实际上,这是钥匙串的bug,您可以在github上搜索它。

Github 34018 问题

几个月前,苹果的一些员工来我们公司给我们上课,课程结束后,我们问了这个问题,他们也没有给我们一个解决方案

0赞 Spacewink 10/20/2022 #2

我通过使用以下方法解决了这个问题:

PFUser *user = [PFUser currentUser];
[user refreshInBackgroundWithBlock:^(PFObject *object, NSError *error) {
        if (!error) {
            NSLog(@"Succesfully refreshed the current user.");
        } else {
            NSLog(@"Failed to refresh the current user with error %@", error);
        }
}];

似乎返回了一个无效的会话令牌,导致 209 和 -34018 错误。仅当当前用户是匿名用户时,这才是一个问题。[PFUser currentUser]