How to check if user is logged in with FBSDKLoginK

2019-07-08 20:00发布

When I run the app in viewDidLoad I need to check if user was logged in before or not.

if FBSDKAccessToken.currentAccessToken() != nil {
    print("1")
    presentViewController(controller, animated: true, completion: nil)
} else {
    print("2")
    let button = FBSDKLoginButton()
    button.delegate = self
    button.readPermissions = ["public_profile", "user_friends"]
    view.addSubview(button)
}

It always prints "2". Why?

1条回答
男人必须洒脱
2楼-- · 2019-07-08 20:52

Below two methods must be implemented in AppDelegate:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
查看更多
登录 后发表回答