PFLogInViewController错误 – 用Parse注销后无法loginFacebook
我正在使用PFLogInViewControllerlogin到第一次成功的Facebook上 –
- (void)logInViewController:(PFLogInViewController *)controller didLogInUser:(PFUser *)user { if([PFFacebookUtils isLinkedWithUser:user]){ FBRequest *request = [FBRequest requestForMe]; [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { NSDictionary *userData = (NSDictionary *)result; NSString *facebookID = userData[@"id"]; NSString *name = userData[@"name"]; NSString *location = userData[@"location"][@"name"]; NSString *gender = userData[@"gender"]; NSString *birthday = userData[@"birthday"]; NSString *relationship = userData[@"relationship_status"]; [user setObject:userData[@"id"] forKey:@"fbId"]; [user setObject:userData[@"name"] forKey:@"name"]; [user setObject:userData[@"email"] forKey:@"email"]; [user saveInBackground]; NSURL *pictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&return_ssl_resources=1", facebookID]]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:pictureURL]; // Run network request asynchronously [NSURLConnection sendAsynchronousRequest:urlRequest queue:[NSOperationQueue mainQueue] completionHandler: ^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (connectionError == nil && data != nil) { // Set the image in the header imageView PFFile *profileImage=[PFFile fileWithData:data]; [user setObject:profileImage forKey:@"profileImage"]; [user saveInBackground]; } }]; }]; } [self dismissViewControllerAnimated:YES completion:nil];
}
如果我然后调用[PFUser logOut]并再次打开PFLogInViewController,当我点击Facebook图标再次login时,facebook spinner无限期地旋转,我得到错误“试图将objectId更改为已知的OfflineStore。 “
如何注销当前用户,然后使用PFLogInViewController重新login?
如果我从[Parse enableLocalDatastore]
删除[Parse enableLocalDatastore]
,我不会再得到这个错误。 如果我不locking任何对象,是否有任何缺点,禁用此? 如果没有networking连接,我仍然可以使用“saveEventually”吗?
我想你正试图再次保存同一个对象(电子邮件)。
首次login时,该电子邮件ID将被存储在最后一次。 但是,注销后,您又再次尝试存储相同的电子邮件。
尝试searchParse中已经存在的条目。 如果你想更新用户的其他细节,那么你可以更新使用objectId。
尝试从PFFVideosUtils中取消PFUser的链接,并closures活动的Facebook会话并清除令牌。
[[FBsession activeSession]closeAndClearTokenInformation];
希望这可以帮助..
- UIActivityViewController Facebook和Twitter共享不能在发布的iOS版本中使用
- 没有redirect到Safari浏览器的Facebook iOS SDK授权
- 应用重新启动后,Facebook访问令牌为零
- Facebook SDK 4.7loginerror handling
- 自定义在ios应用程序中login到Facebook
- Facebook应用程序请求不显示在iOS设备上?
- FBSDKShareLinkContent未设置contentDescription和contentTitle
- 有时Facebook共享对话框不会在iOS上加载
- 在浏览器或本地应用程序中正确打开Facebook页面链接IOS cordova