0
こんにちは私のIOS SWIFT APPにFacebookログインSDKを使用しています。私はこのイベントを(ユーザーが既に承認されている場合)検出し、そこに留まらないでホームスクリーンにリダイレクトする方法を知りたいと思います。現時点で何が起こっているのかは、画面の下に一度表示されると、私は完了ボタンまたはokボタンを押してもログイン画面を表示します。あなたのif (error == nil)
ブロック内IOS SWIFT:既にfacebook iosを承認済みです
@IBAction func loginFacebookButton(sender: UIButton) {
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager .logInWithReadPermissions(["email"], fromViewController: self) { (result, error) -> Void in
if (error == nil){
let fbloginresult : FBSDKLoginManagerLoginResult = result
if fbloginresult.grantedPermissions != nil {
dispatch_async(dispatch_get_main_queue()) {
self.view.addSubview(self.progressHUD)
}
if(fbloginresult.grantedPermissions.contains("email"))
{
self.getFBUserData()
//fbLoginManager.logOut()
}else{
print("sorry")
}
}}
}
}
func getFBUserData(){
if((FBSDKAccessToken.currentAccessToken()) != nil){
// print("token not nill")
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email"]).startWithCompletionHandler({ (connection, result, error) -> Void in
if (error == nil){
var facebook = Facebook()
facebook.authenticationToken = FBSDKAccessToken.currentAccessToken().tokenString
facebook.email = result["email"] as? String
facebook.firstName = result["first_name"] as? String
facebook.lastName = result["last_name"] as? String
facebook.facebookID = result["id"] as? String
self.sendFBDataToServer(facebook)
}
})
}
}