我正在开发一个具有呼叫和消息功能的应用程序,我想检查是否安装了SIM卡因为它提供了消息的问题,因为它提供了警告"消息已成功发送"
请帮帮我。
答案 0 :(得分:5)
可能有不同的方法,但一种方法是使用MFMessageComposeViewController
类来查看是否可以发送短信。如果可以的话,那么sim就可用了。
if ([MFMessageComposeViewController canSendText]) {
NSLog(@"SIM Available");
} else {
NSLog(@"no SIM card installed");
}
如果您有iMessage可用,那么这可能会返回true,您也可以检查是否可以拨打电话,您可能希望将CTTelephonyNetworkInfo
用于此目的。
答案 1 :(得分:4)
你也可以像这样检查....首先阅读这篇文档
NSString *_code = [[[CTCarrier alloc] init] mobileCountryCode];
如果符合以下任何条件,则此属性的值为nil:
设备处于飞行模式。 设备中没有SIM卡。 该设备不在移动电话服务范围内。
答案 2 :(得分:1)
首先你必须确定设备是iPhone(不是iPod或iPad),然后检查设备是否可以拨打电话,就像这样............
if([[UIDevice currentDevice].model isEqualToString:@"iPhone"])
{
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:123456"]])
{
NSLog(@"Device can make call or send message");
}
else
{
NSLog(@"Device can not make call or send message");
}
}
else
{
NSLog(@"Device can not make call or send message");
}
希望它会帮助你........