我是swift / xcode的新手。我正在尝试建立一个Facebook登录。
登录工作正常,但登录成功后,segue似乎无法正常工作。它没有错误,只是没有去下一个viewcontroller。
我怀疑问题出在这里:
self.performSegueWithIdentifier("showNew", sender: self)
任何想法?
import UIKit
import FBSDKCoreKit
import FBSDKLoginKit
class ViewController: UIViewController, FBSDKLoginButtonDelegate {
override func viewDidLoad() {
super.viewDidLoad()
if (FBSDKAccessToken.currentAccessToken()==nil){
println("not Logged in")
}
else{
println("Logged in!")
self.performSegueWithIdentifier("showNew", sender: self)
}
var loginButton = FBSDKLoginButton()
loginButton.readPermissions = ["public_profile","email","user_friends"]
loginButton.center = self.view.center
loginButton.delegate = self
self.view.addSubview(loginButton)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
if error == nil {
println("Login Complete")
}
else
{
println(error.localizedDescription)
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
println("User Logged Out!")
}
}
答案 0 :(得分:1)
您忘了申报标识符。
答案 1 :(得分:0)
我假设您希望应用程序在FB登录后移动到下一个视图控制器。基本上是登录成功。
移动
self.performSegueWithIdentifier("showNew", sender: self)
到loginButton委托。
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)
{
if (error == nil)
{
println("Login Complete")
self.performSegueWithIdentifier("showNew", sender: self)
}
else
{
println(error.localizedDescription)
}
}
如果你的segue没有正确定义,应用程序就会崩溃。由于它没有在self.performSegueWithIdentifier
崩溃,您可以相信它已被定义。