无法为IOS实施自定义Facebook登录按钮

时间:2015-10-31 19:04:33

标签: facebook parse-platform facebook-ios-sdk

我正在尝试为IOS 9创建一个自定义登录按钮,我一直在关注Facebook的教程,但是当我点击按钮时,我最终收到此错误

  

libc ++ abi.dylib:terminate_handler意外地抛出异常

我一直在关注这个Facebook教程,唯一的区别是由于某些原因我正在使用dispatch_async。

https://developers.facebook.com/docs/facebook-login/ios#loginkit

dispatch_async(dispatch_get_main_queue(), ^{

    NSMutableArray* Permissions = [[NSMutableArray alloc] init];
    [Permissions addObject:@"email"];
    [Permissions addObject:@"public_profile"];

    FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];

    [loginManager logInWithReadPermissions:Permissions
                                   handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
     {
         if (error) 
         { 
             NSLog(@"Process error");

         } 

         else if (result.isCancelled) 
         {
             NSLog(@"Cancelled");
         } 

         else 
         {
            NSLog(@"Logged in");
         }

     ];                
});

我尝试使用Parse SDK的代码也是如此......

NSArray *permissionsArray = @[ @"user_about_me", @"user_relationships", @"user_birthday", @"user_location"];

    [PFFacebookUtils logInInBackgroundWithReadPermissions:permissionsArray block:^(PFUser *user, NSError *error) 
    {
       if (!user) 
       {
          NSLog(@"Uh oh. The user cancelled the Facebook login.");
       } 

       else if (user.isNew) 
       {
          NSLog(@"User signed up and logged in through Facebook!");
       } 

       else 
       {
         NSLog(@"User logged in through Facebook!");
       }
     }];

但是这两次,我最终得到的错误如下图所示。

  

Error message image

我在应用验证过程中做错了吗? 请帮忙! 谢谢!

1 个答案:

答案 0 :(得分:1)

这很奇怪,在玩Xcode之后,我发现它无法从我的plist获取我的appID和其他设置,即使它在那里。我以编程方式设置我的app id

[FBSDKSettings setAppID:@"appid"];

[FBSDKSettings setDisplayName:@"displayname"];

我能摆脱那个错误,但我被困在URLSchemes ...我将重新创建项目并再试一次! 谢谢!

它现在正在工作,我可以获得一个登录页面,但是当我通过应用程序登录屏幕后,我得到一个空白的白色屏幕,右上角只有一个完成按钮,当我点击它时,我收到用户取消登录的日志消息。