2010-02-24 2 views
2

J'ai une UIWebview sur une barre d'onglets qui se charge correctement sur le simulateur mais pas sur le périphérique. Quelqu'un at-il jamais rencontré cette situation? J'ai regardé partout sur Google-machine pendant les trois derniers jours en vain. Toute aide serait grandement appréciée.iPhone UIWebview charge sur le simulateur mais pas sur le périphérique

+0

Qu'est-ce que vous obtenez dans * didFailLoadWithError *? – RedBlueThing

+0

Il serait utile que vous décriviez comment vous essayez de charger des données dans l'affichage Web - il y a plusieurs façons, d'où vient le contenu? –

+1

Je devrais probablement vous donner le bénéfice du doute, mais êtes-vous sûr que votre appareil est connecté à Internet? Safari chargera-t-il correctement les pages? –

Répondre

1

Vérifiez d'abord votre connectivité. Êtes-vous capable d'accéder aux deux URL (à propos et à la page PHP) de Safari sur l'appareil?

Ensuite, je vous suggère de coller un code de gestion des erreurs dans votre UIWebViewDelegate. Donc, quelque chose comme:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 
{ 
    // load error, hide the activity indicator in the status bar 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 

    if ([error code] == NSURLErrorCancelled) { 
     // don't show the error 

     // if you want to know why I ignore these errors 
     // check out this question: 
     // http://stackoverflow.com/questions/1577670 
     return; 
    } 

    [webView loadHTMLString:[[[NSString alloc] initWithFormat:@"Failed to load page %@ %08d", [error localizedDescription, [error code]]] autorelease] baseURL:nil]; 
} 

Faites-nous savoir comment vous allez.

+0

Merci pour l'aide les gars. Je reçois ce qui suit de didFailLoadWithError: Une erreur est survenue lors du chargement: Erreur Domaine = NSURLErrorDomain Code = -1004 UserInfo = 0x1743c0 "impossible de se connecter à l'hôte" – robMontesinos

+0

Ce qui est intéressant, c'est que l'autre UIWebView se connecte au même site mais une autre page. Et comme avant, les deux sites se montrent très bien dans le simulateur. GRRRR ... – robMontesinos

+0

@robmontesinos Comment es-tu allé dans Safari sur les mêmes URLs? – RedBlueThing

2

J'ai fait face au même problème. La solution me éludé beaucoup de temps, mais ce que j'ai découvert que j'avais:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    NSLog(@"shouldStartLoadWithRequest Loading: %@", [request URL]); 
} 

et je ne reviens rien de cette situation. Quand je l'ai changé en

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    NSLog(@"shouldStartLoadWithRequest Loading: %@", [request URL]); 
     return TRUE; 

} 

cela fonctionne. Le simulateur ne se soucie pas si vous avez renvoyé un BOOL ou non, mais le périphérique réel, il ne fonctionne pas.

Questions connexes