2009-08-08 11 views
2

Ich arbeite ein Tutorial aus, dass diese Codezeile hat:iPhone Simulator nicht Fehler Anzeige in 3.0, zeigt aber in 2.0

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

Wenn das Programm in dem Framework 3.0 kompiliert wird und dass Linie Code wird ausgeführt, nichts passiert. Wenn jedoch das Programm mit dem 2.0 Framework aufbauen, die Codezeile eines Popup-Anzeige verursacht, der sagt:

„Nicht unterstützte URL Diese URL nicht geladen wurde: tel: // 8004664411“

Can jemand erklären, warum kein Fehler in 3.0 ausgelöst wird?

Antwort

3

Ich weiß nicht, warum Sie nur Fehler in 2.0 Framwork Builds sehen. Bei Verwendung des Xcode Simulators werden Telefonverbindungen immer ignoriert.

Wie auch immer, es ist eine gute Übung, Ihre Anwendung überprüfen zu lassen, ob das Tel-URL-Schema unterstützt wird, bevor Sie versuchen, eine Telefonnummer mit der Klassenmethode canOpenURL anzurufen.


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

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

Und hier aus jüngster Erfahrung sprechen, werden Sie Ihre App im App Store Genehmigungsverfahren abgelehnt bekommen, wenn Sie Hardware nicht richtig handhaben, die nicht die tel:// unterstützt.

Ich hatte einen Knopf, den ich dort hingelegt habe, der iPod und der Simulator stürzen nicht ab, aber sie tun nichts. Sie sollten die Schaltfläche erkennen und entfernen, wenn sie auf einem Gerät ausgeführt wird, das sie nicht unterstützt.

Ich wollte mich selbst dafür kicken, dass ich diesen bekommen habe.

+0

DANKE. Ich hätte es vergessen. – Neo42

Verwandte Themen