2016-11-05 46 views
0

我有一個UIWebView應用程序,它加載了一個網站https://app.bridallive.com/。以前它在iPad上運行良好,但現在不行。 它既不加載在UIWebView(在最簡單的應用程序中)也不加載在iOS Safari中。適用於Mac OS。 我試圖與診斷是:iOS ::網站無法在iOS Safari和UIWebView中工作

-(void) loadWebSite { 
    NSURL * url = [NSURL URLWithString:@"https://app.bridallive.com/#/dashboard?iPadApp=true"]; 
    NSURLRequest * request = [NSURLRequest requestWithURL:url]; 
    [self.webView loadRequest: request]; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [self loadWebSite]; 
} 

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { 
    NSLog(@"Error : %@",error); 
} 

NSAppTransportSecurity設置爲YES和網站具有有效和可信的證書。

這是我在futher實驗中使用:

-(void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [self loadWebSite]; 
} 

,但這並沒有給任何錯誤。

任何人都可以提出一種方法來診斷這在iOS?

最好的問候, 安德烈

+0

是否啓用'NSAppTransportSecurity'標誌? – dirtydanee

+0

是的,這是標誌設置爲是,網站已經信任和正確的SSL證書。 –

+0

你可以顯示代碼,你試圖打開'url'嗎? – dirtydanee

回答

0

UIWebView中有一個協議,UIWebViewDelegate,它可以幫助你觀察你的 改變它實現使用的是什麼,你可以觀察你的UIWebView中加載lifecyclye變化的幾個方法:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    NSLog(@"shouldStart"); 
    return true; 
} 

- (void)webViewDidStartLoad:(UIWebView *)webView { 
    NSLog(@"webViewDidStartLoad"); 
} 

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    NSLog(@"webViewDidFinishLoad"); 
} 

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { 
    NSLog(@"%@", error); 
    NSLog(@"didFailLoadWithError"); 
} 

爲了接收此功能的回調,請註冊.h中類別界面上的代理。

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController <UIWebViewDelegate> 

@end 

我已經設置了一個示例項目,並在打開的URL,我收到了didFailLoadWithError回調以下錯誤:

錯誤域= WebKitErrorDomain代碼= 101 「(空)」

看來你沒有正確編碼你的請求。您應該編碼字符串方式如下:

NSString *encodedString=[[NSString stringWithFormat:@"https://app.bridallive.com/#/dashboard?iPadA‌​pp=true"] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]; 
    NSURL *weburl = [NSURL URLWithString:encodedString]; 

enter image description here

+0

這就是我所做的。 正如我提到的應用程序以前完全工作。 我懷疑這可能是iOS 10.x或XCode 8的問題。 其他網址,比如說https://google.com效果不錯 –

+0

我已更新了我的答案。 – dirtydanee

+0

謝謝,但這不起作用。 移動會讓事情變得更糟 - 像屏幕截圖一樣的不斷加載屏幕。 最後我在iPad中發現了一個切換語言的錯誤 - 看起來網站JavaScript中有錯誤。我發現在Mac OS Safari中啓用Develper控制檯並連接到iPad的Safari的問題。 反正非常感謝。 –

相關問題