2015-08-19 60 views
0

我与解析的Anypic exprimenting和我不断收到这3个错误:解析Anypic Facebook登录错误

Presenting view controllers on detached view controllers is discouraged <PAPWelcomeViewController> 

然后去

Unbalanced calls to begin/end appearance transitions for <UINavigationController> 

最后

Login failure. FB Access Token or user ID does not exist 

我设置一切就像在教程中所述。它过去运行良好,但我没有收到这些错误,但是当我在一段时间后回到项目中时,我正在获得这些错误。

他们正在尝试通过Facebook登录到应用程序时发生。我选择登录,把我的细节,点击登录,然后没有任何反应,它只是回到“登录Facebook”按钮。

感谢您的帮助!

+0

你可以分享你的代码的基本位取? – lenz

+0

一切都很默认。我刚刚在AppDelegate.m中添加了Parse Applictation ID和客户端密钥,并在info.plist中添加了facebook应用详细信息 – rafra

+0

任何想法可能会出错? – rafra

回答

1

你应该尝试改变handleFacebookSession看起来像这样:

- (void)handleFacebookSession { 
if ([PFUser currentUser]) { 
    if (self.delegate && [self.delegate respondsToSelector:@selector(logInViewControllerDidLogUserIn:)]) { 
     [self.delegate performSelector:@selector(logInViewControllerDidLogUserIn:) withObject:[PFUser currentUser]]; 
    } 
    return; 
} 

NSArray *permissionsArray = @[ @"public_profile", 
           @"user_friends", 
           @"email"]; 

self.hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; 

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

    if (!user) { 
     NSString *errorMessage = nil; 
     if (!error) { 
      NSLog(@"Uh oh. The user cancelled the Facebook login."); 
      errorMessage = @"Uh oh. The user cancelled the Facebook login."; 
     } else { 
      NSLog(@"Uh oh. An error occurred: %@", error); 
      errorMessage = [error localizedDescription]; 
     } 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Log In Error" 
                 message:errorMessage 
                 delegate:nil 
               cancelButtonTitle:nil 
               otherButtonTitles:@"Dismiss", nil]; 
     [alert show]; 
    } else { 
     if (user.isNew) { 
      NSLog(@"User with facebook signed up and logged in!"); 
     } else { 
      NSLog(@"User with facebook logged in!"); 
     } 

     if (!error) { 
      [self.hud removeFromSuperview]; 
      if (self.delegate) { 
       if ([self.delegate respondsToSelector:@selector(logInViewControllerDidLogUserIn:)]) { 
        [self.delegate performSelector:@selector(logInViewControllerDidLogUserIn:) withObject:user]; 
       } 
      } 
     } else { 
      [self cancelLogIn:error]; 
     } 
    } 
}];} 

溶液从here