2

我正在开发一个具有呼叫和消息功能的应用程序,我想检查是否安装了 sim 卡,因为我遇到了消息传递问题,因为它会发出“消息发送成功”的警报

请帮帮我。

4

3 回答 3

5

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

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

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

于 2013-04-23T10:11:57.107 回答
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 卡。该设备不在蜂窝服务范围内。

于 2013-04-23T10:31:17.613 回答
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");
}

希望对你有帮助…………

于 2013-04-23T10:35:41.953 回答