Я создаю приложение, которое использует социальные сети для входа. Моя проблема заключается в том, что google вызывает func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) ->Bool
и Facebook, который вызывает func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
.Мне нужно вызвать эти две функции в зависимости от того, из какой социальной сети я пришел из App Delegate
Дело в том, что, имея две функции в AppDelegate, Facebook не возвращает меня в приложение, но Google это делает. Я думаю, что существует конфликт между этими двумя функциями.
Я попытался установить флаг var, но я не могу установить оператор if/else вне любой функции.
Что я могу сделать?
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 {
return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String, annotation: options[UIApplicationOpenURLOptionsAnnotationKey])
}
У вас не может быть двух копий того же метода делегата. Просто используйте один. – rmaddy