2012-11-20 17 views
0

我的應用只能在用戶登錄Facebook的第一次運行期間發送應用請求。一旦應用程序重新啓動,應用程序請求就會停止,因爲FBSession.activeSession.isOpen會給出false。無法從iOS發送Facebook apprequest,因爲FBSession.activeSession.isOpen給出了假

雖然FBSession.activeSession.isOpen提供虛假仍是應用程序可以執行其他操作,如張貼到牆上,讓好友列表等。只有它不能發送應用程序的請求。而且它還有一個有效的訪問令牌。

任何想法?

+0

哪個API用於那個? – Rushabh

+0

這個問題有沒有更新?我也得到了與我的代碼相同的問題,無法使用上面給出的解決方案來解決它。 – Gaurav

回答

2

你說「FBSession.activeSession.isOpen提供虛假」,但是,只是要確定:當你運行該測試?當你對登錄請求的調用返回時,或者在異步請求的回調中?

如果它請求的回調之外完成的,它可以說會話尚未打開。然後,請求正確返回,這意味着任何進一步調用另一個FB請求都會成功。

這有幫助嗎?

如果沒有,可能是您的代碼的概述。

+0

我檢查FBSession.activeSession.isOpen是否給出了錯誤。如果然後我重新運行登錄機制,然後FBSession.activeSession.isOpen給出真實的,我敢於發送應用程序請求。 –

1

確定,下一步從以前的答案您的評論:

是的,這就是你已經說了什麼。但是在你的代碼中你是否檢查isOpen?要期望一個合適的價值,它應該是這樣的:

FBSession openActiveSessionWithReadPermissions:_readPerms allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 

     // here is the proper place to check the isOpen boolean, and to go on with your program, including the app request 
    }]; 

// not the proper place to check isOpen. 

這有幫助嗎?