web-dev-qa-db-ja.com

UIWebViewにURLが読み込まれない

タブバーコントロールがあります。最初のタブにはナビゲーションコントロールが含まれています。 2番目のタブで、Webページ(google.comなど)をロードします。私はコードを次のように書きました

NPIViewController.h

@interface NPIViewController : UIViewController {
   IBOutlet UIWebView *webView;
}
@property (nonatomic,retain) IBOutlet UIWebView *webView;
@end

NPIViewController.m

- (void)viewDidLoad {
  [super viewDidLoad];
  NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; 
  NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
  [webView setScalesPageToFit:YES];         
  [self.webView loadRequest:request];               
}

ページが読み込まれないだけです。コンパイルまたは実行時エラーはありません。これの何が問題になっていますか?

18

何が悪いのかを知るには、これを行うことができます。

- (void)viewDidLoad {
  [super viewDidLoad];
  webView.delegate = self;
  NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; 
  NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
  [webView setScalesPageToFit:YES];         
  [self.webView loadRequest:request];               
}

この新しいメソッドをクラスに追加します

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

私はあなたがインターフェイスビルダーのアウトレットにwebViewオブジェクトを接続したことを願っていますか?

おかげで、

33
Ravin

Httpではなくhttpsを使用する必要があります。 httpを使用すると、次のエラーメッセージが表示されます(Ravinのコードを使用してエラーを確認します)。

「App Transport Securityポリシーでは安全な接続を使用する必要があるため、リソースを読み込めませんでした。」

3
user1139733

あなたのwebViewを作成する

IBOutlet UIWebView *webView;

このコードを試してください

NSString *urlAddress = @"http://www.google.com";

    //Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];

    //URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    //Load the request in the UIWebView.
[webView loadRequest:requestObj];
2
Gypsa

再起動IOSシミュレーター
それは本当に明らかではありませんが、最初にIOSシミュレータでSafariのいくつかのサイトをチェックしてください。
IOSシミュレーターの再起動後、シミュレーターとデバイスの両方でmywebViewが正常に開きました。

この 有名な リンクを参照してください。

0
rock_walker