2009-08-08 8 views
2

Je travaille au large un tutoriel qui a cette ligne de code:simulateur iPhone ne pas afficher une erreur dans la version 3.0, mais affiche dans la version 2.0

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"]];

Lorsque le programme est compilé dans le Framework 3.0 et que la ligne de le code est exécuté, rien ne se passe. Toutefois, si le programme est construit avec le Framework 2.0 ligne de code provoque une fenêtre contextuelle à l'affichage qui dit:

« URL non pris en charge Cette URL n'a pas été chargé: tel: // 8004664411 »

Can Quelqu'un explique pourquoi aucune erreur n'est soulevée dans 3.0?

Répondre

3

Je ne sais pas pourquoi vous ne voyez que des erreurs dans les versions 2.0 de framwork. Lors de l'utilisation du simulateur Xcode, les liens téléphoniques sont toujours simplement ignorés.

Quoi qu'il en soit, il est bon de laisser votre application vérifier si le système tel-url est pris en charge avant d'essayer d'appeler un numéro de téléphone en utilisant la méthode de classe canOpenURL;


NSString *zeURL = @"tel://8004664411"; 

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:zeURL]]) { 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:zeURL]]; 
} else { 
    //show own error message dialog 
} 
2

Et, parlant de l'expérience très récente ici, vous obtenez votre application rejetée dans le processus d'approbation App Store si vous ne gérez pas correctement le matériel qui ne supporte pas le tel://.

J'avais un bouton que j'ai mis là, l'iPod et le simulateur ne tombent pas en panne, mais ils ne font rien. Vous devez détecter et supprimer le bouton si vous utilisez un périphérique qui ne le prend pas en charge.

Je voulais me donner un coup de pied pour laisser passer celui-là.

+0

MERCI. J'aurais oublié. – Neo42

Questions connexes