2012-04-24 89 views
4

我正在使用UIWebView和Facebook提供的HTML5 code將Facebook評論添加到我的iPad應用程序中。 當用戶未登錄時,應用程序將顯示評論和按鈕「登錄Facebook發佈評論」。登錄後無法重定向到UIWebView中的Facebook評論

Comments initial window

點擊按鈕將我通過登錄過程。登錄完成後,視圖將以「完成登錄」消息的空白頁面重定向。它不會被重定向回註釋對話框。

enter image description here

現在我實現了一個醜陋的解決方法。在收到webViewDidFinishLoad事件後,如果頁面顯示此消息,我將查看頁面的內容並重新加載它。儘管如此,它似乎並不是一個乾淨的方式。

爲什麼Facebook不會將我重定向回原始評論頁面?

+0

你有沒有加入你的Facebook應用程序ID到您的Xcode應用程序的URL方案? – NonatomicRetain 2012-10-09 11:53:09

+1

是的,我確實設置好了。 – UrK 2012-10-09 13:07:02

回答

1

我懷疑你是與此相關的問題時遇到的問題:Facebook authentication in a UIWebView does not redirect back to original page on my site asking for auth

具體來說,標準的Facebook網頁登錄過程中啓動一個新的瀏覽器窗口的對話框,並調度消息回首戰指示登錄成功重定向發生。

在鏈接的SO中引用一段文字「UIWebView不支持多個窗口,因此它不能將postMessage發回原始頁面,因爲它不再被加載。」

0

我還在開發iPad應用程序,我的解決方案與您的解決方案類似:我總是推動用戶訪問「https://m.facebook.com」,強制他先登錄,然後在「 webViewDidFinishLoad」我檢查返回的URL,如果它匹配:

‘https://m.facebook.com/login/checkpoint/’

確切地說,也就是網址在成功登錄時返回,然後我打電話給自己的方法(重新加載或任何我想要的)。此時,用戶通過身份驗證並具有有效的FB會話,因此重定向不再是必需的。

這絕對不是很漂亮,只要FB改變它處理登錄對話框的方式,它可能會中斷,但我也找不到解決它的更好方法。甚至嘗試使用「FB.Event.subscribe('auth.login',function(response){});」當然,沒有成功,因爲代碼是永遠不會到達的。

我認爲一個bug已經提交給FB,但我不認爲它得到應有的關注...

0

我遇到了同樣的問題,因爲這個問題,但讀了一些Facebook official documentation後,我會重新設計使用Facebook原生SDK。

所有iOS和Android應用必須(2013年10月2日生效)使用我們的iOS和Android的SDK 請求的權限。

雖然,我還認爲「或其他」只是一個「開發人員通知」?

,希望它會使用相同的方法:)爲了節省時間,有人張貼本