使用iOS9重新编译时,Facebook正在返回任何内容

时间:2015-12-24 12:25:10

标签: ios facebook

我在使用Facebook SDK编译iOS 8.4时出现问题,所以我升级到Xcode 7.1并使用Facebook Sdk 4.6。我正在按照以下代码进行登录。它给了我奇怪的体验,有时,它打开了SafariViewController,有时它打开了弹出视图和SafariViewController,有时它只打开弹出视图。

在任何一种情况下,我尝试登录我都不会在

中获取数据
  

func loginButton(loginButton:FBSDKLoginButton!,didCompleteWithResult   结果:FBSDKLoginManagerLoginResult!,错误:NSError!)

  

fbLoginManager.logInWithReadPermissions([“email”],fromViewController:self,handler:{(result,error) - > Void in               if(error == nil)

我已经关注并添加了NSTransportExceptions

  

代码

在ViewDidload中我定义了这个

    fblogin.delegate = self
    fblogin.readPermissions = ["public_profile", "email", "user_friends"]

fblogin是loginButton

@IBAction  func loginFb(sender:AnyObject)
{
    let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
    fbLoginManager.loginBehavior = FBSDKLoginBehavior.Web
    fbLoginManager.logInWithReadPermissions(["email"], fromViewController: self, handler: { (result, error) -> Void in
        if (error == nil){
            let fbloginresult : FBSDKLoginManagerLoginResult = result
            if fbloginresult.grantedPermissions != nil { //Here we have to check that the set contains value or not
                if(fbloginresult.grantedPermissions.contains("email"))
                {
                    self.getFBUserData()
                    //fbLoginManager.logOut()
                }
            }
        }
    })
}
func getFBUserData(){
    NSLog("Called")
    if((FBSDKAccessToken.currentAccessToken()) != nil){
        FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email"]).startWithCompletionHandler({ (connection, result, error) -> Void in
            if (error == nil){
                self.dict = result as! NSDictionary
                print(result)

                print(FBSDKAccessToken.currentAccessToken().tokenString)
                //NSLog(self.dict.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as! String)
            }
        })
    }
}

我遇到Facebook is not returning data in didCompleteWithResult in iOS 9问题所以我升级到了Xcode 7

1 个答案:

答案 0 :(得分:1)

为了提出有效的字段请求,他们需要没有空格,例如      " ID,名字,姓氏,电子邮件"

关于切换到Facebook应用程序而不是显示SFSafariViewController,您需要在v4.6之前使用任何Facebook SDK,他们在此更改了