2012-07-24 101 views
4

在我的應用程序,我必須加載一個網頁在UIWebView用戶可以在Facebook上登錄。問題是當用戶點擊登錄時,會出現空白頁面。Facebook登錄失敗UIWebView

是否有可能回到第一頁並登錄?

網頁在Safari中完美運行並打開新窗口,登錄後關閉它並返回到它離開的位置。

編輯:錯誤的URL被提供給一個UIWebView

+0

嗨!你是如何解決這個問題的?我目前面臨着同樣的問題,迄今爲止,沒有任何關於SO的解決方案還沒有爲我工作。 – Isuru 2014-03-23 18:54:44

回答

3

我認爲Facebook SDK iOS版的樣品確實在日誌中你想要的方式。 請參考鏈接: Facebook的的iOS-SDK-樣本:https://github.com/facebook/facebook-ios-sdk/tree/master/sample/Hackbook

尤其是這部分https://github.com/facebook/facebook-ios-sdk/blob/master/sample/Hackbook/Hackbook/RootViewController.m

/** 
* Show the authorization dialog. 
*/ 
- (void)login { 
    HackbookAppDelegate *delegate = (HackbookAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    if (![[delegate facebook] isSessionValid]) { 
     [[delegate facebook] authorize:permissions]; 
    } else { 
     [self showLoggedIn]; 
    } 
} 

當你點擊登錄按鈕,它會打開一個登錄對話框,並要求獲得許可。這是它看起來像:https://developers.facebook.com/docs/mobile/screenshots/ios/#iphone-native

我認爲實施「Facebook相關」的應用程序的最佳方式是從Hacbook開始。這真是一個很好的和詳細的樣本。

+2

登錄按鈕是在Web視圖中,我無法控制這部分。它必須在網絡視圖中。 – tadasz 2012-07-26 18:05:47

+0

鏈接不工作。 – riyaz 2013-06-03 10:28:52

0

SSL問題?按照Joanne使用Facebook SDK,您可以免費獲得大量額外功能,包括通過Facebook本地應用程序登錄(如果已安裝)。

1

如果您想在Facebook登錄彈出窗口關閉後重新加載特定的URL,以防止被卡在空白頁面上,您可以使用此代碼。

首先包含UIWebViewDelegate並在您的代碼中設置您的委託。

[yourwebView setDelegate:self]; 

然後使用shouldStartLoadWithRequest方法來檢查其用於通過Facebook來關閉其彈出用於close_popup.php請求URL。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{  
    NSString *urlString = [NSString stringWithFormat:@"%@", request]; 
    if ([urlString rangeOfString:@"close_popup.php"].location == NSNotFound) { 
     //The close_pop.php is not found. (Do nothing) 
    } else { 
     //Facebook closed the popup so we should load the page we now want the user to see. 
     NSURL*url=[NSURL URLWithString:@"http://www.example.ca/thepageyouwanttoreload.html"]; 
     NSURLRequest*request=[NSURLRequest requestWithURL:url]; 
     [webView loadRequest:request]; 
    } 
    return YES; 
} 
+0

不工作仍然相同的空白page.any更新? – karthikeyan 2016-09-19 08:57:46