Ios FBRequestConnection StartFormwithCompletionHandler-NSInvalidArgumentException

Ios FBRequestConnection StartFormwithCompletionHandler-NSInvalidArgumentException,ios,facebook,parse-platform,Ios,Facebook,Parse Platform,如果FBRequestConnection StartFormWithCompletionHandler没有引发异常,我似乎无法调用它 ***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法对PFObject上的键或值使用nil。”。对值使用NSNull。” 这过去是毫无问题的。但随后我删除了解析表中的用户对象。现在,每当我尝试登录时,就会在解析表中创建新用户,并且我会收到用户已登录的日志消息。但是当我想调用FBRequestConnectio

如果FBRequestConnection StartFormWithCompletionHandler没有引发异常,我似乎无法调用它

***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法对PFObject上的键或值使用nil。”。对值使用NSNull。”

这过去是毫无问题的。但随后我删除了解析表中的用户对象。现在,每当我尝试登录时,就会在解析表中创建新用户,并且我会收到用户已登录的日志消息。但是当我想调用FBRequestConnection函数来检索用户的facebook id时,我得到了一个错误

- (id) init {
   if (self == [super init]) {
    [PFFacebookUtils initializeFacebook];
    sharedHelper = self;
   }
   return self;
}

- (void) authenticateUserWithFacebook {
NSArray *permissionsArray = @[@"user_relationships",@"user_friends",@"read_friendlists"];

[PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {

    if (!user) {
        if (!error) {
            NSLog(@"Uh oh. The user cancelled the Facebook login.");
        } else {
            NSLog(@"Uh oh. An error occurred: %@", error);
            [[PFFacebookUtils session] closeAndClearTokenInformation];
            [[PFFacebookUtils session] close];
            [[FBSession activeSession] closeAndClearTokenInformation];
            [[FBSession activeSession] close];
            [FBSession setActiveSession:nil];
            [PFUser logOut];
        }
    } else if (user.isNew) {
        NSLog(@"User with facebook signed up and logged in!");
        UIApplication *application = [UIApplication sharedApplication];
        [application registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];

        [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
            [[PFUser currentUser] setObject:[result valueForKey:@"id"] forKey:kFbIdKey];
            [[PFUser currentUser] setObject:[result valueForKey:@"name"] forKey:@"name"];
            [[PFUser currentUser] saveInBackground];
        }];
    } else {
        NSLog(@"User with facebook logged in!");
        UIApplication *application = [UIApplication sharedApplication];
        [application registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];

        [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
            [[PFUser currentUser] setObject:[result valueForKey:@"id"] forKey:kFbIdKey];
            [[PFUser currentUser] setObject:[result valueForKey:@"name"] forKey:@"name"];
            [[PFUser currentUser] saveInBackground];
        }];
    }
   }];
 }

我想我已经用[FBSession renewSystemCredentials:]解决了这个问题 以及删除和重新安装应用程序。我认为我还删除了Installationobjects这一事实也与这个问题有关