Возможный способ обнаружить обнаружение сим-карты в 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-карты?