在Facebooklogin后删除

我想让我的用户能够删除他们的帐户,因此不会显示在其他用户的提要中。

我可以做的一个方法是在“用户”表中添加一个“活动”列。

更好的方法是从表中删除他们的用户对象。 不幸的是,当我实现代码时,应用程序崩溃,出现以下错误:'用户不能被删除,除非他们已经通过logIn或signUp进行了authentication。

也许我的login代码有问题。

NSArray *permissionsArray = @[@"email", @"public_profile", @"user_friends"]; [PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) { if (!user) { if (error) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oops, error" message:@"Couldn't login at the moment. Try again later." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Dismiss", nil]; [alert show]; } } else { // Send request to Facebook [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { // handle response if (!error) { // Parse the data received NSDictionary *userData = (NSDictionary *)result; [[PFUser currentUser] setObject:[NSNumber numberWithLongLong:[userData[@"id"] longLongValue]] forKey:@"facebook_id"]; [[PFUser currentUser] setObject:userData[@"name"] forKey:@"name"]; [[PFUser currentUser] saveInBackground]; // Go to home screen here } }]; } }]; 

删除是这样完成的:

 PFObject *userObject = [PFObject objectWithoutDataWithClassName:@"_User" objectId:[PFUser currentUser].objectId]; [userObject deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { // back to login view controller }]; 

任何想法如何解决这个问题?

当你已经拥有[PFUser currentUser]时,为什么要重新获取用户对象? 也许你需要直接删除[PFUser currentUser]对象? 就像是:

 [[PFUser currentUser] deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { // back to login view controller }];