Я пытаюсь реализовать google + и facebook sign ins в том же приложении. Я следовал инструкциям Parse и Google, и я впервые успешно реализовал вход в Facebook. Затем я начал следовать инструкциям Google. После этого, что теперь у меня эти 2 функции в моем файле AppDelegate.swift:iOS Facebook и Google логин одновременно?
Для Google:
func application(application: UIApplication,
openURL url: NSURL, options options: [String: AnyObject]) -> Bool {
return GIDSignIn.sharedInstance().handleURL(url,
sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey],
annotation: options[UIApplicationOpenURLOptionsAnnotationKey])
}
Для FaceBook:
func application(application: UIApplication,
openURL url: NSURL,
sourceApplication: String?,
annotation: AnyObject?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application,
openURL: url,
sourceApplication: sourceApplication,
annotation: annotation)
}
Мне нужно объединить эти 2 Do блоки кода в 1, как видно в некоторых сообщениях, такие как
Google SignIn SFSafariViewController/WebView redirects to Google.com after accepting permissions
или они могут оставаться такими же в двух разных блоках? Спасибо
эй спасибо это действительно круто. Я не знаю, есть ли у вас момент, но можете ли вы объяснить, как это работает? Возврат "или" || кажется небезопасным .. как он решает/знает, какой обработчик использовать? – darkheartfelt
спасибо - & no prob! Функции Facebook и Google делегата предназначены для возврата FALSE, если URL-адрес не предназначен для них, и TRUE, если URL-адрес успешно обработан. Так что нормально называть их обоих, если необходимо, и пусть они скажут вам, что URL-адрес не предназначен для них. Если любая из функций успешна, мы передаем значение TRUE. Имеют смысл? – lonesomewhistle