Facebook登录在Facebook本机应用程序中打开,而不是在ios 6.0 iphone设备上的safari浏览器中打开
您好,我正在使用FBSession打开登录视图。它在iOS5.0和ios 6.0模拟器中打开Safari进行登录,但在ios 6.0 iPhone中,它打开的是Facebook应用程序而不是Safari。请告诉我原因是什么,我如何解决?这是我的Facebook登录代码Facebook登录在Facebook本机应用程序中打开,而不是在ios 6.0 iphone设备上的safari浏览器中打开,iphone,facebook,Iphone,Facebook,您好,我正在使用FBSession打开登录视图。它在iOS5.0和ios 6.0模拟器中打开Safari进行登录,但在ios 6.0 iPhone中,它打开的是Facebook应用程序而不是Safari。请告诉我原因是什么,我如何解决?这是我的Facebook登录代码 - (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI { return [FBSession openActiveSessionWithReadPermissions
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
return [FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}
/*
* Callback for session changes.
*/
- (void)sessionStateChanged:(FBSession *)session
state:(FBSessionState) state
error:(NSError *)error
{
switch (state) {
case FBSessionStateOpen:
if (!error) {
// We have a valid session
NSLog(@"User session found");
if ([[IntegrationManager sharedInstance] facebookDidLogin:nil]) {
[self.window.rootViewController dismissModalViewControllerAnimated:YES];
};
}
break;
case FBSessionStateClosed:NSLog(@"Fbsession close");
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
}
[[NSNotificationCenter defaultCenter]
postNotificationName:FBSessionStateChangedNotification
object:session];
if (error) {
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
为了方便用户,facebook应用程序将启动,而不是打开一个网站。这样做,用户就不必再次登录,这也称为单点登录
如果您使用的是Facebook iOS SDK,您对此无能为力,也不应采取任何措施。不,它也应适用于iOS 5和4。只要安装了Facebook应用程序,Als就会停止。在iOS 6中,您可以使用本机的Facebook支持,如果用户允许您的应用程序访问Facebook帐户,则会向用户弹出问题。