通过编程方式检测iPhone中是否有Sim卡可用

时间:2012-11-30 11:36:13

标签: iphone objective-c

您好我正在使用SMSComposer,并希望通过地址簿向联系人发送短信。我想检测我的iPhone是否有SIM卡

有什么方法可以达到这个目的。?

我尝试过REachability Classes,但它为您提供有关WWAN和互联网连接的信息。核心电话框架是否具有此类设施。 像iPhone的Carrier NAme等东西。??

任何帮助将不胜感激。 谢谢 维卡斯

2 个答案:

答案 0 :(得分:7)

尝试链接CoreTelephony.framework然后:

#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>

NSString *_code = [[[[CTTelephonyNetworkInfo alloc] init] subscriberCellularProvider] mobileCountryCode];

您可以在 official documentation 中找到更多相关信息,但请简要说明一下:

  

如果符合以下任何条件,则此属性的值为nil

     
      
  • 设备中没有SIM卡。

  •   
  • 该设备不在手机服务范围内。

  •   
     

在飞行模式下,iPhone 4S之前的硬件上的值可能为nil

答案 1 :(得分:1)

为此,您需要添加MessageUI.framework框架...

试试这段代码......它可以帮到你

Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
if([messageClass canSendText]){
    // Sim available
}
else{
    //Sim not available
}
相关问题