ios - Facebook 和 Google+ 登录

标签 ios swift facebook-graph-api xcode6 google-plus

我在我的应用中同时使用了 Google+ 和 Facebook。 我的问题是它们都需要 appDelegate 中的 OpenURL 方法。

对于 Facebook 登录:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}    

对于 Google+ 登录:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
    return GPPURLHandler.handleURL(url, sourceApplication: sourceApplication, annotation: annotation)
}

如何在同一应用中同时使用 google+ 和 facebook?

最佳答案

针对 Xcode 7.0 和 Swift 2.0 更新的解决方案

return FBSDKApplicationDelegate.sharedInstance().application(app, openURL: url, sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String, annotation: nil)  ||
            GPPURLHandler.handleURL(url, sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String, annotation: nil)

**

Swift 3.0另一种解决方案

**

 func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
        if url.scheme == "fb1675189366130133" {
        return FBSDKApplicationDelegate.sharedInstance().application(application,
                                                         open: url,
                                                         sourceApplication: sourceApplication,
                                                         annotation: annotation)
        }else{
            return GIDSignIn.sharedInstance().handle(url, sourceApplication: sourceApplication, annotation: annotation)
        }
}

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

相关文章:

facebook - 使用 Laravel Socialite 查询 Facebook Graph API?

objective-c - FBConnect 登录,与 webview 共享?

ios - Extjs 输入被 ipad 虚拟键盘隐藏在焦点上

ios - 如何在 Swift 中保存 View 及其 subview 的屏幕截图?

Swift 核心数据 : Data not persisting between session. context.save() 仅适用于 session

android - 在 iOS 和 Android 中使用 facebook 登录会给出不同的 id。如何处理服务器端?

iphone - 添加没有navigationController的 subview 时适当释放ViewController

ios - 如何显示和加载 iOS 应用程序资源/ Assets 文件夹中的音频文件?

swift - 是否可以在 Swift 中为方法指定 self ?

ios - 将在整个应用程序或类(class)中使用的颜色