web-dev-qa-db-fra.com

l'url ne se charge pas dans UIWebView

j'ai un contrôle de barre d'onglets. Le 1er onglet contient un contrôle de navigation. Sur le 2ème onglet, je veux charger une page Web (disons google.com). J'ai écrit le code comme

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];               
}

La page ne se charge tout simplement pas. Aucune erreur de compilation ou d'exécution. Qu'est-ce qui ne va pas là-dedans?

18
Ashish K Agarwal

pour savoir ce qui ne va pas, vous pouvez le faire.

- (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];               
}

ajoutez cette nouvelle méthode dans votre classe

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

J'espère que vous avez connecté l'objet webView avec sa sortie dans Interface builder?

Merci,

33
Ravin

Vous devez utiliser https au lieu de http. Si vous utilisez http, vous obtiendrez ce message d'erreur (utilisez le code de Ravin pour voir l'erreur):

"La ressource n'a pas pu être chargée car la stratégie de sécurité du transport d'application nécessite l'utilisation d'une connexion sécurisée."

3
user1139733

Créez votre webView

IBOutlet UIWebView *webView;

Essayez ce code

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

Redémarrez votre simulateur IOS .
Ce n'est vraiment pas évident, mais vérifiez d'abord un site dans Safari à IOS.
Après le redémarrage de IOS simulator, my webView s'est ouvert avec succès à la fois sur le simulateur et sur l'appareil.

Voir ce célèbre lien.

0
rock_walker