2012-02-29 50 views
0

正如標題所說,我的項目絕不會彈出FB登錄屏幕,直到我呼籲Facebook連接 - 我必須在登錄之前單擊註銷?

[facebook logout]; 

這是有道理的,當我已經加了,但它發生在啓動時,以及(即用戶尚未登錄)。

嗯......我剛剛嘗試重置模擬器中的內容和設置,並且似乎已經解決了這個問題。爲了我自己的安心,爲什麼當我關閉模擬器並重新運行項目時,它不會恢復到應用程序爲「新」且尚未運行之前或恢復狀態的狀態 - 登錄用戶信息將立即可用?

在我的設備我剛纔測試了這一點:

  • 全新安裝
  • 打開應用,通過FB連接登錄
  • 關閉應用程序,在後臺運行刪除應用
  • 重新打開應用
  • 嘗試登錄,無響應,直到我第一次單擊註銷

那麼是不是保留了之前登錄過的事實?如果是這樣,是否有一個「loggedInAlready」變量或類似的東西,我可以檢查?

回答

0

將此添加到didFinishLaunchingWithOptions

if([facebook isSessionValid])//if already able to log in 
{ 
    [self loginToFacebook];//attempt to login automatically on startup 
} 

似乎已經解決了這個問題。我想這是因爲我有:

if([facebook isSessionValid]){ 
    [facebook login]; 
} 

在登錄按鈕按下,當它恢復它仍然是一個有效的會話,所以按下按鈕不會做任何事情,直到註銷按鈕結束會話。 現在它會自動檢查會話是否在啓動時有效,如果是這樣,它會直接登錄我。

:-)一切都好,結束了。