2015-09-06 80 views
1

我正在使用Parse作爲後端的快速iPhone應用程序,當我重新啓動應用程序時,currentUser未被識別並返回nil重定向到登錄頁面。一旦我登錄用戶保持登錄狀態,直到我停止應用程序。PFUser currentUser在重新啓動應用程序後返回nil

if PFUser.currentUser() == nil { 
    //return to the login page 
} else { 
    // perform normal operations 
} 

我很好奇,爲什麼這是因爲我有PFUser.logOut()處於註銷函數,而不是最初的視圖控制器上,並僅在按下一個按鈕叫的唯一的地方發生。先謝謝您的幫助!

編輯:這個問題今天早上開始發生。在過去的2周裏,我沒有任何關於自動登錄解析的問題。所以我不知道我能做些什麼來實現它。昨天晚上和今天早上我改變了唯一的代碼是試圖通過添加委託給我的VC,從一個視圖控制器傳遞數據到一個popoverViewController,但我已經刪除它們,並且仍然無所適從。

+0

你是什麼意思重新啓動應用程序? – Lamar

+0

你使用Parse本地數據存儲嗎? –

+0

通過重新啓動應用程序,我的意思是殺死它和任何後臺進程,然後再打開它。不,我沒有使用本地數據存儲。 – nviens

回答

0

我覺得你應該把在的AppDelegate這個代碼添加到方法applicationDidBecomeActive(),類似如下:

func applicationDidBecomeActive(application: UIApplication) 
{ 

    if PFUser.currentUser() == nil{ 
     // show main screen 

     var storyboard :UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     var LoginScreen = storyboard.instantiateViewControllerWithIdentifier("loginShow") as! UIViewController 
     UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(LoginScreen, animated: true, completion: nil) 
    } 

    else 
    { 
     //show login screen 
     var storyboard :UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     var MainScreenNavigation = storyboard.instantiateViewControllerWithIdentifier("TotalMainViewController") as! UIViewController 
     UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(MainScreenNavigation, animated: false, completion: nil) 

    } 

} 
+0

好吧,讓我試試吧 – nviens

+0

它仍然返回零,用戶登錄到登錄表單 – nviens

+0

你登錄到應用程序,然後關閉它? – Lamar

相關問題