我的应用程序具有谷歌登录、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)
}
trả về sai
}
当我输入 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 {
trả về sai
}
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
}
Tôi là một lập trình viên xuất sắc, rất giỏi!