Facebook SDK登录永远不会在iOS 9上回覆我的应用程序 [英] Facebook SDK login never calls back my application on iOS 9
问题描述
我已经遵循此指南来更新我的应用程序以使用Facebook SDK 4.6当使用iOS 9 SDK构建时,可以正常工作。
I've followed this guide to update my application to use Facebook SDK 4.6 to work properly when built with the iOS 9 SDK.
现在点击登录按钮后,会显示一个Safari视图控制器(不应该重定向到Facebook应用程序? ),但在接受许可后,Safari视图控制器不会被忽略。它加载一个新的空白页面,坐在那里什么都不做。如果我点击完成按钮,返回的 FBSDKLoginManagerLoginResult
的 isCancelled
是true。
When I tap the login button now, a Safari view controller gets presented (shouldn't it redirect to the Facebook app?), but after accepting permission the Safari view controller is never dismissed. It loads a new blank page and sits there doing nothing. If I tap the Done button, the returned FBSDKLoginManagerLoginResult
's isCancelled
is true.
SDK是否正常,通过Facebook应用程序选择Safari视图控制器?为什么登录完成后我不会得到回调?
Is it normal that the SDK is choosing the Safari view controller over the Facebook app? And why am I not getting callbacks after login is complete?
推荐答案
在iOS 9上,当 UIApplicationDelegate
的应用程序:openURL:选项:
已实现,应用程序:openURL:sourceApplication:注释:
不会被调用。
Turns out that on iOS 9 when UIApplicationDelegate
's application:openURL:options:
is implemented, application:openURL:sourceApplication:annotation:
will not get called.
所以我要做的是调用 FBSDKApplicationDelegate
的 application:openURL:sourceApplication:annotation:
from UIApplicationDelegate
的应用程序:openURL:options:$ ($)
So what I had to do is call FBSDKApplicationDelegate
's application:openURL:sourceApplication:annotation:
from UIApplicationDelegate
's application:openURL:options:
- (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]];
}
这篇关于Facebook SDK登录永远不会在iOS 9上回覆我的应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!