首页 > 解决方案 > FBSDKLoginKit 在使用 iOS 10.x 在 iPad 上登录后冻结应用程序

问题描述

我有一个问题,在装有 iOS 10.x 的 iPad 上成功登录后,应用程序冻结了。iOS 11.x 上不会出现此问题,我能够在模拟器和真实设备上重现此行为。更新到版本4.34.0,没有解决问题。

还有其他人遇到这种情况吗?有人找到解决方案了吗?

标签: iosios10fbsdkloginkit

解决方案


我在成功登录后遇到它没有返回任何值,也没有让用户回到应用程序。一种可能的方式是这样。(更改您的 openURL 代码)

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

    let appname:String = options.first?.value as! String
    print(appname)
    if appname == "com.facebook.Facebook" {
        return FBSDKApplicationDelegate.sharedInstance().application(
            app,
            open: url as URL!,
            sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String,
            annotation: options[UIApplicationOpenURLOptionsKey.annotation]
        )
    }
    return Twitter.sharedInstance().application(app, open: url, options: options)
}

其他 iOS 版本 (iOS 10) 的第二种方法。

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
 return FBSDKApplicationDelegate.sharedInstance().application(
  application,
  open: url as URL!,
  sourceApplication: sourceApplication,
  annotation: annotation)
}
}

推荐阅读