2010-08-02 78 views
0

我已經在我的iphone應用程序中集成了Facebook連接。臉書連接不起作用

當用戶點擊一個按鈕時,我正在調用具有以下代碼的方法。

session1 = [[FBSession sessionForApplication:kApiKey secret:kApiSecret delegate:self] retain]; 
dialog = [[[FBLoginDialog alloc] initWithSession:session1] autorelease]; 
[dialog show]; 

當用戶用他的用戶名和密碼登錄到Facebook時,如果用戶名和密碼不正確,則顯示消息正確。

但是當用戶輸入正確的用戶名和密碼時,整個臉書窗口正在關閉而沒有給出任何消息。

回答

1

Vodkhang有正確的答案,但也知道,因爲Facebook的連接存儲信息在用戶的默認值,你應該插入a

if (![session1 resume]) { 

在調用對話框之前。這將確保將來使用該應用程序不會生成相同的登錄對話框。

當會話恢復時,仍然會調用didLogin:delegate函數,因此您仍然可以對FBUID執行任何您需要的操作。您可以做的一件簡單的事情是在界面構建器中創建一個隱藏的標籤,並將該FBUID分配給didLogin函數中的該標籤。這樣,如果您稍後需要FBUID,您總是可以拉取該標籤的文本。

1

它工作正常。 Facebook窗口關閉意味着您的用戶登錄成功。你應該處理一些代表:

#pragma mark FBSessionDelegate 

- (void)session:(FBSession*)session didLogin:(FBUID)uid { 

} 

- (void)sessionDidNotLogin:(FBSession*)session { 

} 

- (void)session:(FBSession*)session willLogout:(FBUID)uid { 

} 

- (void)sessionDidLogout:(FBSession*)session { 
// NCLog(@"FacebookHelper logged out"); 
} 

,你會知道會發生什麼變化登錄過程

+0

嗨,感謝您的更新,這對我是非常有幫助的。此外,有沒有任何參考如何處理這些代表? – Ganesh 2010-08-02 09:09:25

+1

我想你可以採用FBSessionDelegate,然後登錄後,你將有一個用戶的FBUID。將其保存爲其他用途 – vodkhang 2010-08-02 09:18:42