这让我抓狂。我在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)
}