Wie kann ich feststellen, ob das Cocoa Touch-Gerät Anrufe tätigen kann? [Duplikat]

7

Ich schreibe eine iPhone-Anwendung, die eine Schaltfläche zum Anrufen einer Telefonnummer bietet. Ich benutze Code wie den folgenden, um die Nummer mit einem tel: URL auf die übliche Weise zu wählen:

%Vor%

Es funktioniert gut auf einem echten iPhone, aber ich bekomme nur eine 'Nicht unterstützte URL' Warnung im Simulator. Vermutlich würde das auch auf einem iPod Touch passieren, obwohl ich das nicht getestet habe. Es wäre schön, die Schaltfläche zu entfernen, wenn sie auf einem Gerät ausgeführt wird, das keine Anrufe tätigt.

Gibt es eine Möglichkeit, programmatisch zu erkennen, ob ein Cocoa Touch-Gerät Telefonanrufe tätigen kann?

    
Will Harris 24.05.2009, 15:10
quelle

4 Antworten

-1

Sie könnten [[UIDevice currentDevice] model] abfragen und prüfen, ob es ein iPhone ist.

    
henning77 24.05.2009, 15:32
quelle
40

Von Noah Witherspoon in Rufen Sie von meiner iPhone-Anwendung aus

  

Der Simulator unterstützt nicht viele URL-Schemata von iOS, einschließlich derer für die Apps Phone, Maps, Youtube und SMS. Dies gilt auch für Geräte wie den iPod touch und das iPad, die keine Telefonfunktionen haben. Bevor Sie ein URL-Schema über -openURL: verwenden, sollten Sie mithilfe von -canOpenURL: nach Unterstützung für dieses Schema suchen. Je nachdem, ob das aktuelle Gerät das von Ihnen verwendete URL-Schema unterstützt, wird YES oder NO zurückgegeben

Also Frage [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]] um herauszufinden, ob das Gerät Anrufe tätigen kann.

    
neilkimmett 27.08.2010 09:35
quelle
7
Kriem 24.05.2009 21:10
quelle
0

Hier ist ein einfaches Code-Snippet, mit dem ich überprüfen kann, ob das Gerätemodell ein Telefon und kein Simulator ist, um sicherzustellen, dass es Anrufe tätigen kann.

%Vor%     
Josh Peak 12.04.2011 04:56
quelle