Mögliche Methode zur Erkennung von SIM-Karten in ios?

Ich habe eine iPhone-App, mit der ich Nachrichten senden kann. Ich möchte den Benutzer benachrichtigen, wenn im iPhone keine SIM-Karte verfügbar ist. Also habe ich unten drei Funktionen ausprobiert, um die Verfügbarkeit der SIM-Karte zu überprüfen

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 überprüft, es gibt immer @ "Sim verfügbar" zurück. Aber wenn ich die Standard-App "Nachrichten" öffne und versuche, eine SMS zu senden, wird die Warnmeldung "Keine SIM-Karte installiert" angezeigt ... Wie kann diese Nachrichten-App die Verfügbarkeit von SIM-Karten erkennen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage