ios - Facebook 登录 + Google 登录 + Braintree Paypal 支付 - AppDelegate 问题

标签 ios swift3 facebook-login braintree google-signin

我的应用程序具有谷歌登录、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 application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : 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

}

关于ios - Facebook 登录 + Google 登录 + Braintree Paypal 支付 - AppDelegate 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50567645/

相关文章:

ios - 使用谓词后 MPMusicPlayerController 不会自动跳到下一个项目

android - 商店中未列出的应用程序

ios - 防止释放函数中定义的对象

ios - 创建 uiview 动画 "drone"或 "slave"?

ios - 如何停止跳转到下一个 View Controller ? ( swift )

swift - 如何让SKSpriteNode以向下的曲线下降

android - Facebook 登录在 android 的 react-native 应用程序中

android - "Facebook Login integration"成功提交到应用中心有什么要求?

url - 将所有以 "#_=_"结尾的 URL 重定向到根域

ios - 使用来自 URL 的图像显示 UIImage