我的應用程序的當前行爲是不區分:啓動應用
上登錄
輸入有效的用戶名和密碼(從登錄屏幕)
單擊要帶到主菜單看起來像:
基於語法分析程序的匿名和普通用戶之間
我註銷,然後得到被帶回登錄屏幕,看起來像這樣:
然後我:
點擊客戶
的賽格瑞:
override func prepareForSegue(segue: (UIStoryboardSegue!), sender: AnyObject!) {
if (segue.identifier == "go-to-main-menu") {
var svc = segue!.destinationViewController as MainMenuViewController
svc.toPass = self.signUpObjectId
println("inside login prep for segue, objectId: ")
println(svc.toPass)
}
的if語句是一個有點傻,因爲我們只有在這一點上一個賽格瑞但和兩個按鈕使用我相信,這不是問題或原因。
我撥打以下方式賽格瑞(無論從登錄視圖的來賓和登錄按鈕)(?):
//Go to main menu
self.performSegueWithIdentifier("go-to-main-menu", sender: nil)
我也有發送者嘗試過:自己沒有太大的,如果任何可察覺的差異。
它將應用程序發送到主菜單,但我在viewDidLoad方法中添加了代碼,該方法檢查用戶類型,然後隱藏配置文件按鈕並修改註銷按鈕的標題(如果用戶是解析匿名用戶):
override func viewDidLoad() {
super.viewDidLoad()
//Hide my account button if user is guest and ensure title is LOGIN for but logout/login button if user is GUEST
if PFAnonymousUtils.isLinkedWithUser(PFUser.currentUser()) {
profileButton.hidden = false
loginButton.setTitle("Logout", forState: .Normal)
} else if PFUser.currentUser() != nil {
profileButton.hidden = false
loginButton.setTitle("Logout", forState: .Normal)
}
else {
myAccountButton.hidden = true
profileButton.setTitle("Login", forState: .Normal)
}
如果我重新在iOS模擬器的內容和設置,我從手機中刪除應用程序,我會得到相同的行爲:inital登錄和使用正常的和匿名用戶註銷測試似乎工作確定。但幾次之後,如果是這樣的話,無論我是以匿名用戶還是普通用戶身份登錄,它都會呈現相同樣式的主菜單(普通或來賓),並且不會更改。
我很困惑,這將如何開始正常工作,比開始失敗。我的猜測是用戶證書被覆蓋或丟失,但我是Parse的新手,不確定如何調試這類問題。任何建議將不勝感激!
或者如果我一直在尋找這個太多的小時,並且看不到我犯的這個小而愚蠢的錯誤。
今天(美國東部時間下午5點左右),當我接觸到我的蘋果機時,我會給你一個鏡頭。感謝您的描述提示。 – lostinthebits 2015-02-24 18:52:08
這完全讓我過駝峯。非常感謝。 – lostinthebits 2015-02-24 22:59:09