2016-05-31 2 views
0

iOSアプリケーション用に書かれた以下のコードスニペットは、httpsウェブサイトでのみ有効です。しかし、私はhttpのサイトには、Webページの読み込みエラーを表示するようにしようとすると。コードのどの部分を変更する必要がありますか?オープンInfo.plistファイル、および次の行を追加します:あなたがこれを行う必要がありウェブページを読み込むタイムコードスニペットは、httpsサイトのみでうまく動作します。

self.setTextLabel.text = @"Loading..."; 
    NSURL *urlValue = [NSURL URLWithString:_textView.text]; 
    NSURLRequest *request= [NSURLRequest requestWithURL:urlValue]; 
    NSDate *start=[NSDate date]; 
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    /*NSURLSessionDataTask *task =[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data,NSURLResponse *response,NSError *error) 
    {*/ 
    NSDate *end=[NSDate date]; 
     if(response != nil) 
     { 
      double ellapsedSeconds= [end timeIntervalSinceDate:start]; 
      self.setTextLabel.text = [NSString stringWithFormat:@"%f ", ellapsedSeconds]; 

     } 
     else 
     { 
      self.setTextLabel.text = @"Web Page Loading error !"; 

     } 
+0

をあなたのInfo.plistに NSAppTransportSecurity NSAllowsArbitraryLoads

答えて

1

まずあなたがWebViewのを使用している場合

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

1)、その後

//が言うことができますこれはリクエストをロードする場所で、既にデリゲートを使ってwebviewを設定しています

-(void)loadRequest{ 

     [webView loadRequest:yourRequest]; 
     startDate=[NSDate date]; 
    } 

//これはデリゲートコールbですWebViewのがないとのUIWebView

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSDate *endDate=[NSDate date]; 
    double ellapsedSeconds= [endDate timeIntervalSinceDate:startDate]; 
} 

2)に対するACK:

NSDate *start=[NSDate date]; 
    NSURLRequest *r= [[NSURLRequest alloc] initWithURL:url]; 
    NSData *response= [NSURLConnection sendSynchronousRequest:r returningResponse:nil error:nil]; 
    NSDate *end=[NSDate date]; 
double ellapsedSeconds= [start timeIntervalSinceDate:end]; 
+0

をNSAppTransportSecurityキーを追加する必要がそれはまだありませんワーキング!そして、アークメカニズムは、明示的自動リリースを許可しません。 – user3803112

+0

Thx ARCバージョンのために修正されました。何が機能していないのかを具体的にすることはできますか?それのログを提供することはできますか? –

+0

テキストボックスにURLを入力すると、https://google.comと入力すると、読み込み時間がわかります。しかし、私はhttp://saavn.comと入力すると、Webページの読み込みエラーが発生します。 – user3803112

関連する問題