2016-10-25 9 views
0

Swiftコントローラの名前を変更する方法についてはthis tutorialに従っています。私のコントローラは以前はFirestViewControllerという名前でした。今はLoginViewControllerという名前になりました。VIEWコントローラの名前を変更した後にFacebookのログインが機能しない

プロジェクトが仮想環境で正しく構築されて実行されるため、名前が変更されていることがわかりました。しかし、私のFacebookログインコードを保持する関数ViewDidLoadは機能しません。私はSwift Cocoapods SDKを使用しています。

なぜアプリケーションが実行されているのか、Facebookのログインボタンが表示されていないことについてのアイデアは非常に高く評価されます。

EDIT:

import UIKit 
import FacebookCore 
import FBSDKCoreKit 
import FBSDKLoginKit 
import FacebookLogin 

class LoginViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     //let loginButton = FBSDKLoginButton 
     let loginButton = FBSDKLoginButton() 
     loginButton.center = view.center 
     view.addSubview(loginButton) 
    } 

    func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) { 
     /* 
      Check for successful login and act accordingly. 
      Perform your segue to another UIViewController here. 
     */ 
     let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 
     let nextViewController = storyBoard.instantiateViewController(withIdentifier: "nextView") as! SecondViewController 
     self.present(nextViewController, animated:true, completion:nil) 
    } 

    func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) { 
     // Actions for when the user logged out goes here 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

} 

はEDIT 2:提案された変更後の​​新しいコード:ここでは私の新しいLoginViewControllerコードファイルである

import UIKit 
import FacebookCore 
import FBSDKCoreKit 
import FBSDKLoginKit 
import FacebookLogin 

class LoginViewController: UIViewController, FBSDKLoginButtonDelegate { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let loginButton = FBSDKLoginButton() 
     loginButton.delegate = self 
     loginButton.center = view.center 
     view.addSubview(loginButton) 
    } 

    func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) { 
     /* 
      Check for successful login and act accordingly. 
      Perform your segue to another UIViewController here. 
     */ 
     let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 
     let nextViewController = storyBoard.instantiateViewController(withIdentifier: "nextView") as! SecondViewController 
     self.present(nextViewController, animated:true, completion:nil) 
    } 

    func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) { 
     // Actions for when the user logged out goes here 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

} 
+1

私のFacebookログインコードを保持しているViewDidLoad関数からいくつかのコードを表示して問題の原因を特定することはできません。 –

+0

@QuocLe上記の要求されたコードを追加しました。 –

+0

"class LoginViewController:UIViewController、FBSDKLoginButtonDelegate"に変更してください。そしてviewDidLoadに次のコードを追加してください:loginButton.delegate = self –

答えて

0

は、私が問題にケビン・ヴォーンによってポインタのおかげで固定。私のコードにブレークポイントを追加した後、私は、コードが実行されていなかったことを示唆しているこれらの点で決して壊れていないことに気付きました。

最終的にコードを読み取るために、ストーリーボード用のビューコントローラへの絶対パスを更新する必要がありました。

関連する問題