簡體   English   中英

Facebook登錄可以在Safari中使用,但不能在UIWebView中使用

[英]Facebook login works in Safari but not in UIWebView

我有一個帶有UIWebView的應用程序,該應用程序顯示具有Facebook登錄名的網頁 我正在使用Facebook的JavaScript SDK(無法使用iOS SDK)。

當我在移動Safari中打開網站而不在Web視圖中打開網站時,登錄工作正常。 登錄對話框打開,輸入用戶憑據,然后重定向到空白頁。 我知道是什么原因造成的。 在普通瀏覽器中,此登錄對話框會在新窗口中打開。 但是,由於UIWebView不支持多個窗口,因此登錄名將替換該網頁,並且一旦成功登錄,便無法重定向回原始網頁。

我在SO各處搜索解決方案,但是幾乎所有的解決方案都已過時。 我認為沒有直接解決此問題的方法,但是如果有人遇到解決方法/破解,請幫助我。

謝謝。

檢查是否將Facebook應用程序ID(您的應用程序ID)添加到Xcode項目-應用程序的url模式中。 然后,請確保在fb登錄后將用戶重定向回您的頁面。

      - (void)webViewDidFinishLoad:(UIWebView *)webView
            {

            NSString *url = [[webView.request URL] absoluteString];

          //  if([url hasPrefix:@"https://m.facebook.com/dialog/oauth"])
 if([url hasPrefix:@"https://m.facebook.com/home.php?"])

            {
            /* here you must implement method to send user to your page */
                [self backToMyPage]; 
            }
           }

           } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM