實施FBSessionDelegate協議我想實現與Facebook的應用程序,我製作iOS設備連接。我已經按照他們關鍵的所有方向,並且SDK工作,但我收到一個警告。它說我沒有實現FBSessionDelegate協議。在模擬器的調試過程中,我需要進入safari來登錄FB,而不是在應用程序本身中執行它。 FBSessionDelegate是否對此負責?如果是這樣,我該如何得到它,所以它在應用程序中完成。在Xcode
在Xcode
回答
最新FBConnect SDK中通過自身管理的OAuth的工作。登錄將您帶到Safari瀏覽器的Facebook Connect頁面是正常的。閱讀this線程
您是否實施了FBSessionDelegate
協議中的方法,如中所定義的?
@protocol FBSessionDelegate <NSObject>
@optional
- (void)fbDidLogin;
- (void)fbDidNotLogin:(BOOL)cancelled;
- (void)fbDidLogout;
@end
這些應該分配給delegate
在
[facebook authorize:permissions delegate:<delegate object>];
這可能是一個好主意,先解決委託警告的對象來實現。
這可能是我的問題,我一直在搜索,我發現許多網站只顯示舊的方式來實現FBConnect,謝謝。 – 2011-03-17 17:42:26
的FBSessionDelegate不負責這個問題。如果無法啓動FB App,則iOS SDK會回退到Safari。 在Facebook.m在這個方法:
- (void)authorizeWithFBAppAuth:(BOOL)tryFBAppAuth
safariAuth:(BOOL)trySafariAuth
...有此評論:
// If the device is running a version of iOS that supports multitasking,
// try to obtain the access token from the Facebook app installed
// on the device.
// If the Facebook app isn't installed or it doesn't support
// the fbauth:// URL scheme, fall back on Safari for obtaining the access token.
// This minimizes the chance that the user will have to enter his or
// her credentials in order to authorize the application.
這一評論解釋了爲什麼Safari瀏覽器將被用於代替FB應用的原因。
是您的模擬器, 支持多任務的設備?
您的模擬器是否安裝了FB App ?
爲FB的應用程序的最新版本? (以確保它支持 fbauth://方案)
的FBSessionDelegate,如dfrdmn解釋,實現3種方法,將所有重定向到FB或Safari瀏覽器後,被稱爲已經發生,因此ISN對你的問題沒有貢獻。
爲了擺脫這一警告的有你需要確保你做一些事情。
- 在您的.h文件中確保您實現FBSessionDelegate。
@interface AppDelegate : NSObject <FBSessionDelegate>
- 在您的.h文件中,確保您#import「Facebook.h」。使用@class Facebook將不起作用。
感謝您的回覆。正如您所說的,最新的Facebook SDK會嘗試使用FB應用程序或Safari進行身份驗證。我沒有在設備上測試它,所以它總是回退到Safari進行身份驗證。在設備上測試它會回退到FB應用程序進行身份驗證。感謝您的支持人員。 – 2011-04-13 18:00:46
- 1. 在Xcode
- 2. 在Xcode
- 3. 在Xcode
- 4. 在Xcode
- 5. 在Xcode
- 6. 在Xcode
- 7. 在Xcode
- 8. 在Xcode
- 9. 在Xcode
- 10. 在Xcode
- 11. 在Xcode
- 12. 在Xcode
- 13. 在Xcode
- 14. 在Xcode
- 15. 在Xcode
- 16. 在Xcode
- 17. 不能在Xcode
- 18. 我有在Xcode
- 19. 在Xcode中
- 20. 如何在Xcode
- 21. UIAutomation在Xcode
- 22. 如何在Xcode
- 23. 在Xcode 8
- 24. 應用在Xcode
- 25. 如何在Xcode
- 26. 進口在Xcode
- 27. 編譯在Xcode
- 28. 在Xcode 4.3.2
- 29. @synthesize在Xcode 4.4
- 30. 調試在Xcode
感謝隊友,我發現的大多數幫助都使用了FBConnect的舊方法,並且弄不清楚哪種方式是當前sdk的正確方式 – 2011-03-17 17:43:17
爲什麼我不能從sdk中存在的示例應用程序獲得幫助。它幾乎涵蓋了大部分基本的東西。 – Vin 2011-03-17 17:49:45