在我的應用程序,我必須加載一個網頁在UIWebView用戶可以在Facebook上登錄。問題是當用戶點擊登錄時,會出現空白頁面。Facebook登錄失敗UIWebView
是否有可能回到第一頁並登錄?
網頁在Safari中完美運行並打開新窗口,登錄後關閉它並返回到它離開的位置。
編輯:錯誤的URL被提供給一個UIWebView
在我的應用程序,我必須加載一個網頁在UIWebView用戶可以在Facebook上登錄。問題是當用戶點擊登錄時,會出現空白頁面。Facebook登錄失敗UIWebView
是否有可能回到第一頁並登錄?
網頁在Safari中完美運行並打開新窗口,登錄後關閉它並返回到它離開的位置。
編輯:錯誤的URL被提供給一個UIWebView
我認爲Facebook SDK iOS版的樣品確實在日誌中你想要的方式。 請參考鏈接: Facebook的的iOS-SDK-樣本:https://github.com/facebook/facebook-ios-sdk/tree/master/sample/Hackbook
/**
* 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開始。這真是一個很好的和詳細的樣本。
SSL問題?按照Joanne使用Facebook SDK,您可以免費獲得大量額外功能,包括通過Facebook本地應用程序登錄(如果已安裝)。
如果您想在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;
}
不工作仍然相同的空白page.any更新? – karthikeyan 2016-09-19 08:57:46
嗨!你是如何解決這個問題的?我目前面臨着同樣的問題,迄今爲止,沒有任何關於SO的解決方案還沒有爲我工作。 – Isuru 2014-03-23 18:54:44