我有一个 iPhone 应用程序,具有发送消息的功能。当 iPhone 没有可用的 SIM 卡时,我想要提醒用户。因此,我尝试了以下三个函数来检查 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");
}
}
我检查了没有插入sim卡的iphone,它总是显示“Sim可用”。但是,当我打开默认的“信息”应用程序并尝试发送短信时,它会弹出一个警告说“未安装SIM卡”...这个信息应用程序如何检测到sim卡的可用性?