swift FB loginSDK调用Google signin方法,而不是自己的方法



这让我抓狂。我在swift 2.0 XCode 7.3版中添加了FB登录。工作良好。但在我实现GoogleSingin登录后,FB登录就停止工作了。

这里发生的是FB SDK,当从身份验证返回时,它调用

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
   return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}

和谷歌登录,有这样的方法:

func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {
print("G+ in appdelegate")
return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String,
                                            annotation: options[UIApplicationOpenURLOptionsAnnotationKey])
}

问题是,如果存在Google Sign-In方法,FB SDK登录,调用GoogleSignIn方法,就会导致应用程序崩溃。

我尝试过将G+方法的调用直接指向FB方法,但这也不起作用。

这是FB错误吗??我应该向FB开发者报告吗??

非常感谢。

将Google和Facebook Sign-In都添加到第一个方法中,并从应用程序中删除func应用程序(application:UIApplication,openURL:NSURL,options:[String:AnyObject])->Bool。

func application(application: UIApplication,
        openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
            return GIDSignIn.sharedInstance().handleURL(url,
                sourceApplication: sourceApplication,
                annotation: annotation) || FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
    }

最新更新