不在后台运行的iOS应用程序的Facebook SDK 3.0登录

不在后台运行的iOS应用程序的Facebook SDK 3.0登录,ios,facebook,login,uiwebview,Ios,Facebook,Login,Uiwebview,我正在iOS应用程序中实施Facebook SDK 3.0。以前,我可以在我的应用程序中使用webview登录,但SDK 3.0中似乎不再提供该选项 我的应用程序不在后台运行(这是我现在不打算改变的)。我目前从一个不是根控制器的视图控制器启动Facebook(第一次启动应用时显示);当登录成功完成时,我使用完成处理程序来完成Facebook请求 问题是,当Facebook登录启动时,用户现在就退出了应用程序;由于应用程序已终止,因此从未调用完成处理程序结果。因此,用户留在rootControll

我正在iOS应用程序中实施Facebook SDK 3.0。以前,我可以在我的应用程序中使用webview登录,但SDK 3.0中似乎不再提供该选项

我的应用程序不在后台运行(这是我现在不打算改变的)。我目前从一个不是根控制器的视图控制器启动Facebook(第一次启动应用时显示);当登录成功完成时,我使用完成处理程序来完成Facebook请求

问题是,当Facebook登录启动时,用户现在就退出了应用程序;由于应用程序已终止,因此从未调用完成处理程序结果。因此,用户留在rootController上,登录后没有结果

在SDK 3.0中,是否有任何方法可以从应用程序中登录Facebook


如果没有,是否有一种解决方法可以防止我的应用程序在后台运行?

您可以在web视图中强制登录,如下所示:

FBSession *mySession = [[FBSession alloc] initWithAppID:myAppID 
                                            permissions:myPermissions 
                                        urlSchemeSuffix:myUrlSchemeSuffix 
                                     tokenCacheStrategy:nil];
[FBSession setActiveSession:mySession];
[mySession openWithBehavior:FBSessionLoginBehaviorForcingWebView
          completionHandler:myCompletionHandler];

您正在调用
[[FBSession-activeSession]handleopeanurl:url]
-(BOOL)应用程序中:(UIApplication*)应用程序openURL:(NSURL*)url源应用程序:(NSString*)源应用程序注释:(id)注释
?是。问题是,当用户在应用程序终止后返回应用程序时,不会调用此函数,因为应用程序委托还实现了application:didFinishLaunchingWithOptions。当然,但如果facebook应用程序打开你的应用程序,则应调用openURL。我理解,但是当Facebook打开我的应用程序时,openURL不会被调用。你能添加你的代码来完成登录和代理中的角色吗?