如何检查是否安装了SIM卡

时间:2013-04-23 09:59:31

标签: iphone ios sdk mfmessagecomposeview

我正在开发一个具有呼叫和消息功能的应用程序,我想检查是否安装了SIM卡因为它提供了消息的问题,因为它提供了警告"消息已成功发送"

请帮帮我。

3 个答案:

答案 0 :(得分:5)

可能有不同的方法,但一种方法是使用MFMessageComposeViewController类来查看是否可以发送短信。如果可以的话,那么sim就可用了。

if ([MFMessageComposeViewController canSendText]) {
    NSLog(@"SIM Available");
} else {
    NSLog(@"no SIM card installed");
}

如果您有iMessage可用,那么这可能会返回true,您也可以检查是否可以拨打电话,您可能希望将CTTelephonyNetworkInfo用于此目的。

答案 1 :(得分:4)

你也可以像这样检查....首先阅读这篇文档

http://developer.apple.com/library/ios/#DOCUMENTATION/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/doc/uid/TP40009596-CH1-SW1

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

希望它会帮助你........