我只是按照一个教程使用swift和parse制作了一个Facebook登录按钮。我按下了登录按钮,并首次成功登录。之后,当我再次运行该应用程序并再次按“登录”按钮时,我得到下图的屏幕: 登录页面
当我按“确定”时,一切都很好,然后转到下一个viewContoller,问题出在我按“取消”按钮后,应用程序崩溃了。你能给我一些提示为什么会发生吗?
import UIKit import Parse import ParseFacebookUtilsV4 import ParseTwitterUtils var userName: String = "" class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @available(iOS 8.0, *) @IBAction func signInButtonTapped(sender: AnyObject) { PFFacebookUtils.logInInBackgroundWithReadPermissions([], block: { (user: PFUser?, error: NSError?) -> Void in if (error != nil) { //Display an alert message var myAlert = UIAlertController(title: "Alert", message: error?.localizedDescription, preferredStyle: UIAlertControllerStyle.Alert) let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil) myAlert.addAction(okAction); self.presentViewController(myAlert, animated: true, completion: nil) return } if(FBSDKAccessToken.currentAccessToken() != nil) { userName = (PFUser.currentUser()?.objectId)! let protectedPage = self.storyboard?.instantiateViewControllerWithIdentifier("ProtectedPageViewController") as! ProtectedPageViewController let protectedPageNav = UINavigationController(rootViewController: protectedPage) let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate var window = UIApplication.sharedApplication().keyWindow window?.rootViewController = protectedPageNav } }) } }
小智.. 5
在“确定”或“取消”期间,PFFacebookUtils.logInInBackgroundWithReadPermissions块中仍然存在,单击时没有问题,因为它会调用
if (error != nil) { }
当您单击“取消”时,下面的方法可能会被调用,
if(FBSDKAccessToken.currentAccessToken() != nil) { }
由于令牌已经有效,请签出!
在“确定”或“取消”期间,PFFacebookUtils.logInInBackgroundWithReadPermissions块中仍然存在,单击时没有问题,因为它会调用
if (error != nil) { }
当您单击“取消”时,下面的方法可能会被调用,
if(FBSDKAccessToken.currentAccessToken() != nil) { }
由于令牌已经有效,请签出!