Game Center Authentication More than Once Swift -
my code follows:
func authenticatelocalplayer() { let localplayer: gklocalplayer = gklocalplayer.localplayer() localplayer.authenticatehandler = {(viewcontroller, error) -> void in if((viewcontroller) != nil) { self.presentviewcontroller(viewcontroller, animated: true, completion: nil) } else if (localplayer.authenticated) { print("local player authenticated") self.gcenabled = true if self.gcenabled == true { self.showleaderboard() self.activity.stopanimating() } // default leaderboard id localplayer.loaddefaultleaderboardidentifierwithcompletionhandler({ (leaderboardidentifer: string!, error: nserror!) -> void in if error != nil { println(error) } else { self.gcdefaultleaderboard = leaderboardidentifer } }) } else { self.gcenabled = false print("local player not authenticated, disabling game center") print(error) if((viewcontroller) != nil) { self.presentviewcontroller(viewcontroller, animated: true, completion: nil) } } } } func showleaderboard() { let gcvc: gkgamecenterviewcontroller = gkgamecenterviewcontroller() gcvc.gamecenterdelegate = self gcvc.viewstate = gkgamecenterviewcontrollerstate.leaderboards gcvc.leaderboardidentifier = leaderboardidentifier self.presentviewcontroller(gcvc, animated: true, completion: nil) }
this code works fine first time leaderboard button clicked (in use @ibaction , call function), however, if prompted log in , click "cancel", , click button again, not work. (meaning log in page not appear). ideas? help!
Comments
Post a Comment