2009-09-01 81 views
1

當您在iPhone上使用Facebook連接時,是否必須使用框架中內置的登錄按鈕和登錄屏幕?我之所以問這個問題,是因爲我也在使用twitter,並且我們希望在他們登錄Facebook時登錄到用戶時擁有相同的用戶體驗。所以我可以複製登錄屏幕Facebook的連接使用Twitter或只是不使用Facebook連接登錄屏幕一起。Facebook上的iPhone連接問題

回答

2

登錄按鈕:沒有。登錄屏幕:是的。我將FB Connect集成添加到iPhone的FriendFeed應用程序中,攪拌,並跳過登錄按鈕。相反,用戶可以在UIActionSheet上選擇「在Facebook上共享」按鈕,該應用程序可以顯示登錄屏幕或自動發佈鏈接,具體取決於用戶是否已通過身份驗證。

這是您的代碼片段。如果會話成功恢復,那麼將調用FBSession對象委託的方法。

if (![fbSession resume]) { 
    FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:fbSession] autorelease]; 
    [dialog show]; 
} 

- (void)session:(FBSession*)session didLogin:(FBUID)uid { 
    NSLog(@"Hooray, I'm logged in to Facebook!"); 
} 

道歉我在上面的例子中有點模糊。說實話,我發現FBConnect有點神祕,並盡我所能實施它,儘快在我的應用程序中擺脫它。如果您需要更多信息,請告知我,我會彙總一個更具體的答案。

每如下申請:

你可以得到FBSession+sessionForApplication:secret:delegate類方法的FBSession對象。你在會話對象上調用-resume。如果它返回YES,它會立即調用您的代理的-session:didLogin:方法,這是您應該放置FB依賴操作的位置。如果它不成功-resume,那麼您需要創建一個FBLoginDialog,如上面的代碼片段所示。合理?讓我知道你是否需要更多信息

+0

你是如何獲得上述代碼中的fbSession對象的?我知道如何通過調出登錄屏幕來創建一個新的,但是我不清楚在應用程序的前一次執行過程中用戶已經通過身份驗證後,我應該如何獲得有效的會話。謝謝。 – 2010-02-08 21:19:56