在Swift中的FBSDK中切换FB用户的问题

Sen*_*nte 5 facebook facebook-graph-api swift

我有一个应用程序,该应用程序在应用程序内部使用FB登录来收集用户FB ID,该ID用于创建指向其FB页面的链接,如下所示:

    @IBAction func saveFacebookDidTap(_ sender: Any) {
    if sharingFacebook == false {
        if  FBSDKAccessToken.current() == nil {
            print("no token")
        }
            login.logIn(withReadPermissions: ["public_profile"], handler: { (result, error) -> Void in

            if error == nil && !(result?.isCancelled)! {
                let fbloginresult : FBSDKLoginManagerLoginResult = result!

                if fbloginresult.grantedPermissions.contains("public_profile") {
                    print("success")
                    let parameters = ["fields" : "id"]

                    if FBSDKAccessToken.current() != nil {

                        self.facebookButton.setTitle("Remove Facebook from your Profile", for: [])
                        self.sharingFacebook = true
                    FBSDKGraphRequest(graphPath: "me", parameters: parameters).start { (connection, result, error) -> Void in

                        if error != nil {
                            return
                        }

                        let data:[String:AnyObject] = result as! [String : AnyObject]

                        if let id = data["id"] as? NSString{

    //do stuf with the id
Run Code Online (Sandbox Code Playgroud)

我还允许用户删除该FB链接,如下所示:

    else {
        self.sharingFacebook = false
        self.facebookButton.setTitle("Add Facebook to your Profile", for: [])

        FBSDKLoginManager().logOut()

    }
Run Code Online (Sandbox Code Playgroud)

我的FB登录页面有问题。当用户单击以添加他们的FB时,我看到一个页面,上面写着“您以前通过Facebook登录到“应用程序名称”。是否要继续?” 我没有看到可以输入电子邮件和密码的字段。有什么想法我可能会错过吗?

che*_*sey 3

我也有类似的问题。原因解释如下:如何在 iOS App 中完全注销 Facebook SDK Auth

我可以通过设置登录行为来解决这个问题,即

LoginManager.setLoginBehavior('web');
Run Code Online (Sandbox Code Playgroud)

在开始登录之前。