使用 Facebook SDK 4.7.0 尝试打开 Facebook 登录对话框失败。从 UI 的角度来看,“什么都没有发生”。
我进入-canOpenURL: failed for URL: "fbauth2:/" - error:
我的控制台日志,人们说我可以忽略
在控制台上我也立即收到此警告Warning: Attempt to present <FBSDKContainerViewController: 0x1268cdd20> on <UIAlertController: 0x12688dac0> whose view is not in the window hierarchy!
好的。
作为记录,我的 plist 中有正确的 Facebook SDK 4.6.0+ 条目以及 NSAppTransport 协议的 Facebook 特定豁免。
在我添加这些东西之前它崩溃了,在我添加这些东西之后它工作了,但没有注意到它不起作用!
我开始这个过程使用
[login logInWithReadPermissions:settings.readPermissions
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
是的,已弃用的功能,但它仍然有效。不幸的是,它永远不会回到这个块内的任何回调
并且在其中进行调试时FBSDKLoginManager.m
会到达此代码块
case FBSDKLoginBehaviorBrowser: {
[self performBrowserLogInWithParameters:loginParams handler:^(BOOL openedURL,
NSString *authMethod,
NSError *openedURLError) {
if (openedURL) {
completion(YES, authMethod, openedURLError);
} else {
completion(NO, authMethod, openedURLError);
}
}];
break;
}
它运行completion(YES, authMethod, openedURLError);
是因为openedURL 返回true。
但我的应用程序没有任何反应。没有启动浏览器或 Facebook 应用程序。
任何见解表示赞赏。