Facebook登录不会使用Xcode 7 iOS 9返回App

ibj*_*azz 5 facebook-login appdelegate ios9 xcode7

我已经使用Xcode 7在App Delegate中为Facebook登录实现了这种方法,它完美地运行:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options {

return [[FBSDKApplicationDelegate sharedInstance] application:app
                                                      openURL:url
                                            sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                                   annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
}
Run Code Online (Sandbox Code Playgroud)

但是,由于我需要使用Xcode 6将我的应用程序提交到App Store,因此该方法不存在并且它会给我带来错误.

如果我评论上述方法,只留下以下内容:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                      openURL:url
                                            sourceApplication:sourceApplication
                                                   annotation:annotation
        ];


}
Run Code Online (Sandbox Code Playgroud)

它不起作用,也就是说,当用户尝试登录时,它不会返回到应用程序.

这有一个简单的解决方案吗?谢谢!

顺便说一下,我一直在努力遵循所有步骤:https://developers.facebook.com/docs/ios/getting-started

Luc*_*ito 11

似乎在iOS9中使用newests FB SDK无法获得以前的行为.您可以使用旧的SDK来执行此操作.以下是facebook对该问题的回复:

在此输入图像描述

  • @Teffi - 每个应用程序出现两次对话框 - 一次是从应用程序转到FB,一次是在回程中.由于人们往往只登录一次应用程序 - 这些双重对话框会在有人试图登录新应用程序时出现.使用Safari View Controller,一旦您登录Safari,每次登录新应用程序时,您都可以获得快速轻松的体验.这就是为什么Safari View Controller最终会比快速应用程序切换流程更好地执行. (3认同)