我们在申请中使用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];
}];
}
答案 0 :(得分:1)
我有同样的问题。这不是.plist麻烦 - 没有URLSchemes(使用fbXXXXX)facebook app和safari永远不会返回给你的应用程序。 在这种情况下,Faccebook应用程序仅在用户未登录时才返回。 Safari正确处理这种情况。如果用户取消了权限确认,Facebook应用程序也不会返回控制权。 在其他情况下,好吧。