Möglich Möglichkeit zur Erkennung von sim-Karten-Erkennung in ios?
Ich habe eine iphone-app, die hat die Fähigkeit, Nachrichten zu senden. Ich will warnt den Benutzer, wenn die sim-Karte ist nicht verfügbar im iphone. Also ich habe versucht, aus drei Funktion zu überprüfen sim-Karte Verfügbarkeit
Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
if([messageClass canSendText]){
//Sim available
NSLog(@"Sim available");
}
else{
//Sim not available
NSLog(@"Sim not available");
}
if([MFMessageComposeViewController canSendText]){
//Sim available
NSLog(@"Sim available");
}
else{
//Sim not available
NSLog(@"Sim not available");
}
if([[UIDevice currentDevice].model isEqualToString:@"iPhone"])
{
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:123456"]])
{
NSLog(@"Sim available");
}
else
{
NSLog(@"Sim not available");
}
}
Ich habe mein iphone ohne sim, es immer return @"Sim verfügbar". Aber wenn ich öffnen Sie default "Nachrichten" - app, und versuchen Sie, senden Sie sms es sagt alert "Keine SIM-Karte Installiert"... Wie diese Meldung app kann erkennen, sim-Karte, Verfügbarkeit?
- Ich glaube nicht, dass Sie können, die Apple nicht aussetzen alle Informationen über die sim, die Zelle radio, das Netzwerk, das Sie sind, etc.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch den code unten können Sie die sim-Karte details wie carriername,mobilecountrycode,isocountrycode,mobilenetworkcode.In ios 6, die alle beibehalten werden.Also, wenn Sie Ihre sim-Karte ist auch entfernt, es behält die alten details.So gibt es diese Idee nicht sinnvoll sein, aber in ios 7 nur carriername wird beibehalten und die restlichen werden so geändert, dass der folgende code kann verwendet werden,
Können Sie es durch CTCarrier Klasse.
Müssen Sie CoreTelephony Rahmen für den Einsatz von CTTelephonyNetworkInfo und CTCarrier.
Implementierung in Swift als nur-lese-berechnete Eigenschaft:
Ergänzung zu Anneq und Felipe Antworten:
Swift 2.3:
Ergänzung der Anneq Anwar Antwort, hier der swift-version:
Update: Der Träger kann null bei einigen Geräten
Swift 4+