Iphone的facebook連接示例調用safari。我不想使用safari。如何解決這個問題。Iphone的facebook連接示例調用safari。我不想用safari
回答
我不確定這是否是猶太教徒,但我在Facebook.m
中註釋了第131-145行,以彈出一個UIWebView
而不是打開Safari中的登錄屏幕。似乎我的工作很好...
對於那些有較新版本的人來說,要找到代碼@donkim指的是搜索BOOL didOpenOtherApp = NO;有用的部分是下面的`if`塊。 – Agos 2011-10-21 12:36:54
儘管它打開safari,這是醜陋的事實,你受益於SSO這是一個很棒的功能。如果任何其他應用程序正在使用FBConnect,您的用戶將自動連接到您的。如果Facebook應用程序存在,它甚至更好,登錄是通過Facebook應用程序完成,不再在Safari瀏覽器。
所以我建議你保持這種方式!
我同意整個過程應該有點改進,並且每次連接時至少不要打開一個新的safari選項卡!耐心...
如果用戶有iPhone的Facebook應用程序,那麼它將不會打開Safari瀏覽器。 它將直接打開Facebook應用程序
上面的Donkim的建議對我使用SDK的1/31/2011承諾非常有效。另一種選擇是在Facebook.m中查找每個對「authorizeWithFBAppAuth:safariAuth:」的調用。您可以將第二個參數從第221,267和274行的YES更改爲NO。
所有這些解決方案的問題是您失去了一致的auth_token。因此,如果您需要通過在URL中傳遞auth_token來在代碼中執行手動圖形請求,那麼您根本無法做到這一點。
設置safariAuth:NO [self authorizeWithFBAppAuth:YES safariAuth:NO]; (facebook.m:221)
對於任何使用較新的Facebook iOS SDK(不知道哪個版本添加了它)的人,您可以使用dialog:@"oauth" ...
方法(doc)。正如其他人所說的,你放棄了SSO,但對於像我這樣的用例(一個OpenGL遊戲),我發現疊加層更適合切換到不同的應用程序。
文件:Facebook.m |開始於:#220 authorizeWithFBAppAuth:safariAuth:
|添加布爾trySafariAuth = NO;
行#223
/**
* A private function for opening the authorization dialog.
*/
- (void)authorizeWithFBAppAuth:(BOOL)tryFBAppAuth
safariAuth:(BOOL)trySafariAuth {
trySafariAuth = NO;
// more code allow blow this, but im too lazy to show it
// so please just change the boolean...
}
Change following method as follows in facebook.m
- (void)authorize:(NSArray *)permissions
delegate:(id<FBSessionDelegate>)delegate {
[_permissions release];
_permissions = [permissions retain];
_sessionDelegate = delegate;
[self authorizeWithFBAppAuth:NO safariAuth:NO];
// [self authorizeWithFBAppAuth:NO safariAuth:YES];
}
- 1. Facebook連接。適用於Firefox/Internet Explorer,不適用於Chrome/Safari/Opera
- 2. iPhone Safari Vs PC Safari
- 3. mac safari vs iphone safari
- 4. Safari擴展:WebSocket連接失敗調用onclose而不是onrorror,並沒有例外
- 5. Safari鏈接不起作用
- 6. 使用Facebook連接與MonoTouch的示例
- 7. Safari和Chrome不想JSON.parse
- 8. Facebook API和Safari
- 9. Ajax在iPhone safari中不起作用
- 10. 'a'鏈接不適用於html5 iPhone Safari中的視頻標籤
- 11. 使用Facebook連接的示例代碼連接Coldfusion
- 12. Facebook連接iphone iphone
- 13. 我的響應式設計不適用於Safari/iPhone 5s
- 14. Windows 8上的Safari不會使用websocket連接
- 15. iPhone - Facebook連接
- 16. 用Vorlon調試iPad Safari
- 17. $ .post調用不在safari中發生
- 18. PhoneGap直接用戶到safari
- 19. 使用JavaScript/onorientationchange重置iPhone上Safari的比例/寬度/縮放
- 20. Facebook的SSO授權在Safari瀏覽器,但不是在我的iPhone的Facebook應用程序
- 21. 從Safari iphone到Facebook原生應用共享頁面
- 22. iPhone上的OAuth:使用Safari或UIWebView?
- 23. Safari中的用戶代理到iPhone
- 24. iPhone Safari與使用錨點的Iframe
- 25. safari想要使用登錄鑰匙串
- 26. Node.js - Chrome和Safari中的兩個連接?
- 27. 在iPhone Safari上調試網站
- 28. Rails的不使用Safari
- 29. iPhone WebApp在Safari中打開鏈接
- 30. 打開鏈接到Safari瀏覽器(iPhone)
那你想使用,火狐是什麼? – BoltClock 2010-12-21 17:01:47
這是很好的笑話 – Voloda2 2010-12-21 17:29:50
非常感謝這個問題......我一直在抨擊我的頭幾個星期,我甚至實現了我自己的UIWebView,看起來比facebook的100倍醜陋 – 2011-01-23 06:34:45