Ios Facebook登录+;谷歌登录&x2B;Braintree Paypal支付-AppDelegate问题

Ios Facebook登录+;谷歌登录&x2B;Braintree Paypal支付-AppDelegate问题,ios,swift3,facebook-login,braintree,google-login,Ios,Swift3,Facebook Login,Braintree,Google Login,我的应用程序有谷歌登录、facebook登录和braintree集成 我在appdelegate.swift中输入了以下代码: func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { let checkFB = FBSDKApplicationDelegate.sharedInstance().appli

我的应用程序有谷歌登录、facebook登录和braintree集成

我在appdelegate.swift中输入了以下代码:

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

    let checkFB = FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
    let checkGoogle = GIDSignIn.sharedInstance().handle(url as URL!,sourceApplication: sourceApplication,annotation: annotation)
    return checkGoogle || checkFB
}

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
    if url.scheme?.localizedCaseInsensitiveCompare("com.release.braintreepayments") == .orderedSame {
        return BTAppSwitch.handleOpen(url, options: options)
    }
    return false
}
当我将
func应用程序(app:UIApplication,openURL:url,options:[uiApplicationOpenUrlOptions:Any])->Bool{}
放入时,我的登录停止工作,如果我对此进行注释,登录工作正常。你能告诉我如何把两者结合起来吗?我确信在选择这两种方法中的一种时会有一些冲突,但我需要两种方法


我也联系了Braintree的支持人员,希望他们能提供同样的服务。

试着只使用第二个:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
    if url.scheme?.localizedCaseInsensitiveCompare("com.release.braintreepayments") == .orderedSame {
        return BTAppSwitch.handleOpen(url, options: options)
    }

    guard let sourceApplication = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String else {
            return false
        }
    let annotation =  options[UIApplicationOpenURLOptionsKey.annotation]

    let checkFB = FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: sourceApplication, annotation: annotation)
    let checkGoogle = GIDSignIn.sharedInstance().handle(url as URL!,sourceApplication: sourceApplication,annotation: annotation)

    return checkFB || checkGoogle

}

假设两个委托方法都被激发?两个都没有被激发。只有第二个在谷歌登录时被解雇。我们能把这两种方法结合起来吗?为什么在第二种方法中总是返回false?只有当Braintree paypal payment被选中时,该方法才会返回true是的,我错过了。不管怎样,你在检查哪个ios版本。您知道您的第一种方法在ios 9中已被弃用吗?