我是iPhone新手,偶然發現一個問題的答案,但我希望有人能告訴我爲什麼。爲什麼Facebook Connect for iPhone登錄對話需要時間延遲?
我在應用程序中使用Facebook Connect。由於我的應用程序需要登錄,我以編程方式調用登錄對話框而不是使用按鈕。我正在使用SDK示例批准的代碼:
FBLoginDialog* dialog = [[[FBLoginDialog alloc] init] autorelease];
[dialog show];
我正在使用Xcode中的基於視圖的應用程序模板。
最初我把它放在一個我稱之爲fbLogin的自定義例程中。但是當我把:
[self fbLogin];
裏面viewDidLoad,什麼都不會發生。例程會被調用(我在那裏打了一個警報,只是爲了確保),但登錄對話框從未出現過。相反,如果我把這裏面viewDidLoad:
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(fbLogin) userInfo:nil repeats:NO];
然後它的工作完美。任何人都知道爲什麼viewDidLoad啓動FBLogin對話爲時尚早?我稍微延遲很好,但我很好奇。
謝謝。
所以有解決方案
Facebook SDK列出了顯示對話框的兩種方式 - 使用按鈕和我的程序調用的按鈕。我用我的,因爲應用程序需要Facebook連接。 我創建了一個例程,我調用fbLogin。它會像您的代碼一樣創建會話,然後檢查簡歷電話以查看是否需要顯示對話。 問題是,如果我把[self fbLogin];在viewDidLoad例程中,沒有任何反應。我在調用對話框之前總是創建會話,所以我試圖找出延遲爲什麼會起作用。 – 2010-08-04 18:34:41