ios - Facebook 登录 + Google 登录 + Braintree Paypal 支付 - AppDelegate 问题
问题描述
我的应用程序有 google 登录、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
}
推荐阅读
- mysql - 如何在 MySQL 中将行数据转置为列
- ag-grid - 如何在 ag-grid 上显示数据之前对其进行格式化
- python - Tensorflow 图结果在恢复后出现随机
- javascript -
在页面刷新之前无法重复获得焦点 - c# - c# decode base64 - Base-64 字符数组或字符串的长度无效
- jquery - Jquery表单提交不起作用?
- ddl - 如何查看 TiDB 中的 DDL 作业?
- javascript - 在服务器表中使用道具
- java - 使用 Apache Spark 和 Java 在 parquet 文件中增量加载数据
- javascript - 脚本的 src 属性中有逗号是什么意思(javascript)