Facebook登录在Xcode 7 iOS 9中不能返回应用程序

5
我已经在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]];
}

然而,由于我需要使用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
        ];


}

无法正常工作,也就是说,当用户尝试登录时,它不会返回应用程序。

这有什么简单的解决方法吗?谢谢!

顺便说一下,我已经认真遵循了以下所有步骤:https://developers.facebook.com/docs/ios/getting-started

1个回答

11

看起来在 iOS9 中,使用最新的 FB SDK 没有办法获取以前的行为。您可以使用旧版本的 SDK 来实现。以下是 Facebook 对该问题的回应:

输入图像描述


只有我一个人发现,通过应用程序切换完成后,插页式对话框只会出现一次吗?因为如果是这种情况,用户不介意通过那个。应用程序切换仍然是最好的选择。 - Teffi
@Teffi 它只出现一次,但我相信很多用户会关注它。 - Lucas Brito
3
@Teffi- 每个应用程序都会出现两次对话框-一次是从应用程序到 FB,另一次是返回时。由于人们通常只登录一次应用程序,这些双重对话框将在每次尝试登录新应用程序时出现。使用Safari View Controller,一旦您登录Safari,每次登录新应用程序时您都会拥有快速且简便的体验。这就是为什么Safari View Controller长期表现优越于快速应用切换流程的原因。 - Simon Cross
@SimonCross 谢谢您的澄清。我只是觉得在两个平台(1)FB应用程序(2)Safari中保持我的Facebook登录状态非常不舒服。也许这只是我的问题。 - Teffi
@SimonCross 我刚刚在我的应用程序上再次尝试了旧版iOS9 FB SDK。对我来说,应用程序切换似乎是无缝的。我没有遇到任何对话框 (1)通过Facebook登录 (2)应用程序切换到FB (3)登录我的帐户/启用权限 (4)FB应用程序切换回我的应用程序。(5)我的应用程序现在已打开。没有出现像你提到的那样的对话框。 - Teffi
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接