Facebook iOS Safari身份验证

时间:2013-06-21 09:33:26

标签: ios objective-c facebook

我正在我的应用程序中处理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身份验证,但它不起作用。在上面的代码中,任何人都可以知道我做错了什么。

感谢所有人。

1 个答案:

答案 0 :(得分: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];
       }
    }];
  }
}