2

我正在我的应用程序中研究 facebook 身份验证概念,为此我使用了 Facebook SDK。当 fb 帐户在设置中可用时,我可以获取用户信息,但是当设置中没有可用帐户时,如何通过创建 fbsession 从 safari 进行 facebook 身份验证。

AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];

if (appDelegate.session.isOpen)
{
     [FBSession.activeSession  closeAndClearTokenInformation];

   [NSUserDefaults resetStandardUserDefaults];
   }
else
{
  if (appDelegate.session.state != FBSessionStateCreated)
   {
        appDelegate.session = [[FBSession alloc] init];
   }
    [appDelegate.session openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {
        if (error) {
            NSLog(@"error..:%@",error);
        }
       else
       {

        [self updateView];
        }
    }];
}

}

我已将上述代码用于 facebook Safari 身份验证,但它不起作用。任何人都可以知道我在上面的代码中做错了什么。

谢谢大家。

4

1 回答 1

0

只需将您的代码更改为:

AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];

if (appDelegate.session.isOpen)
{
     [self updateView];
}
else
{
  if (appDelegate.session.state != FBSessionStateCreated)
   {
        appDelegate.session = [[FBSession alloc] init];
   }
    [appDelegate.session openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {
        if (error) {
            NSLog(@"error..:%@",error);
        }
       else
       {

        [self updateView];
       }
    }];
  }
}
于 2013-06-21T09:48:24.570 回答