2010-07-21 5 views
0

Je développe actuellement une application iPhone pour un centre commercial.Pourquoi tel: // se comporte-t-il différemment dans une vue Web? (iOS 3.1)

L'une des fonctionnalités est la possibilité de téléphoner à un locataire de centre commercial à partir de l'application. J'utilise

NSURL *url = [[NSURL alloc] initWithString:@"tel:1(480)555-5555"]; 
[[UIApplication sharedApplication] openURL:url]; 

Il fonctionne comme je l'attends à, pas de dialogue de confirmation et reste dans l'application du téléphone lorsque l'appel est terminé. Je préfère le retourner à notre application, mais peu importe ...

Cependant, il y a une autre page dans l'application qui est une vue Web et il y a quelques numéros de téléphone qui ont été automatiquement détectés. En cliquant sur un, la boîte de dialogue de confirmation s'ouvre, et l'utilisateur est renvoyé à notre application.

Je suis un peu cochée que le comportement que je veux, et a été apparemment enlevé entre 3.0 et 3.1, existe dans un webview. Idéalement, je voudrais qu'un numéro de téléphone renvoie un utilisateur à notre application, mais je suis d'accord avec aucun d'entre eux le faire. Je veux juste que ce soit cohérent tout au long de mon application.

Y a-t-il un appel différent que je devrais utiliser? Puis-je modifier le comportement des numéros de téléphone détectés automatiquement dans une vue Web? (en plus de le désactiver)

Répondre

0

Malheureusement, ce n'est pas simple à faire. Le rappel UIWebViewDelegate- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType devrait vous permettre d'intercepter ces robinets, mais ce n'est pas le cas. (Note: dans le simulateur, ça semble fonctionner, mais sur l'appareil ça ne fonctionne pas ...) Je pense que la seule façon d'intercepter ces taps serait au niveau de la fenêtre et ce serait probablement plus de travail que c'est vaut.

Questions connexes