Facebook SSO IOS不会返回应用程序

时间:2012-09-20 07:21:53

标签: ios facebook

我们在申请中使用Facebook SSO。点击Facebook登录应用程序进入Facebook应用程序,显示登录。但登录后它不会返回应用程序。但是,如果用户已经登录Facebook应用程序,登录按钮单击切换到Facebook应用程序并显示权限对话框。点击允许后返回app。这是默认行为吗?或者我的代码或我们的Facebook应用程序设置有任何问题吗?提前谢谢。

SHAppDelegate *appDelegate = [SHAppDelegate application];
NSArray * permissions = [[NSArray alloc]initWithObjects:FACEBBOK_PERMISSION, nil];
  if (!appDelegate.session.isOpen) {
    appDelegate.session = [[[FBSession alloc] initWithPermissions:permissions] autorelease];
    if (appDelegate.session.state == FBSessionStateCreatedTokenLoaded) {
        [appDelegate.session openWithCompletionHandler:^(FBSession *session, 
                                                         FBSessionState status, 
                                                         NSError *error) {
            [self updateView];
        }];
    }
}
if (appDelegate.session.isOpen) {
    [appDelegate.session closeAndClearTokenInformation];
} else
{
    if (appDelegate.session.state != FBSessionStateCreated) {
        // Create a new, logged out session.
        appDelegate.session = [[FBSession alloc] init];
    }

    // if the session isn't open, let's open it now and present the login UX to the user
    [appDelegate.session openWithCompletionHandler:^(FBSession *session, 
                                                     FBSessionState status, 
                                                     NSError *error) {
        // and here we make sure to update our UX according to the new session state
        [self updateView];
    }];
}

1 个答案:

答案 0 :(得分:1)

我有同样的问题。这不是.plist麻烦 - 没有URLSchemes(使用fbXXXXX)facebook app和safari永远不会返回给你的应用程序。 在这种情况下,Faccebook应用程序仅在用户未登录时才返回。 Safari正确处理这种情况。如果用户取消了权限确认,Facebook应用程序也不会返回控制权。 在其他情况下,好吧。