Możliwy sposób wykrywania wykrywania karty SIM w ios?

Mam aplikację na iPhone, która ma możliwość wysyłania wiadomości. Chcę powiadomić użytkownika, gdy karta SIM nie jest dostępna w telefonie iPhone. Więc spróbowałem poniżej trzech funkcji, aby sprawdzić dostępność karty SIM

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");
    }
}

Sprawdziłem mojego iPhone'a bez karty SIM, zawsze zwraca on @ „Sim available”. Ale kiedy otwieram domyślną aplikację „Wiadomości” i próbuję wysłać sms, pojawia się komunikat „Nie zainstalowano karty SIM” ... Jak ta aplikacja może wykryć dostępność karty SIM?

questionAnswers(5)

yourAnswerToTheQuestion