2017-10-08 90 views
1
开关FB用户FBSDK

我有一个使用FB登录应用程序内就聚集了用户FB的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 

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

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

     FBSDKLoginManager().logOut() 

    } 

我遇到FB登录页面的问题。当用户点击添加他们的FB时,我看到一个页面,上面写着“你之前用Facebook登录过”app name“,你想继续吗?”我没有看到允许我输入电子邮件和密码的字段。任何想法,我可能会错过?

回答

0

我已经当了Safari浏览器缓存Facebook的登录凭据这个问题。去设置... Safari浏览器...清除历史和数据。解决了它。