Возможный способ обнаружить обнаружение сим-карты в IOS?

У меня есть приложение для iPhone, которое имеет возможность отправлять сообщения. Я хочу предупредить пользователя, когда SIM-карта недоступна в iphone. Итак, я попробовал ниже три функции, чтобы проверить наличие 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");
    }
}

Я проверил свой iphone без sim, он всегда возвращает @ "Sim available". Но когда я открываю приложение «Сообщения» по умолчанию и пытаюсь отправить смс, появляется предупреждение «SIM-карта не установлена» ... Как это приложение для сообщений может определить наличие SIM-карты?

Ответы на вопрос(5)

Ваш ответ на вопрос