следующие проверки фрагмента кода, если SIM-карта присутствует или нет, а если устройство способно сделать вызов, таких как не-сим Ios устройств
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]]) {
// Check if iOS Device supports phone calls
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mnc = [carrier mobileNetworkCode];
// User will get an alert error when they will try to make a phone call in airplane mode.
if (([mnc length] == 0)) {
// Device cannot place a call at this time. SIM might be removed.
} else {
// iOS Device is capable for making calls
}
} else {
// iOS Device is not capable for making calls
}
if (! [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"sms:"]]) {
// iOS Device is not capable to send SMS messages.
}
не забудьте добавить Рамочную CoreTelephony
Credit
Работает ли в 3.0.2.0 os – MaheshBabu
@MaheshBabu: Извините, человек .. Не знаю .. Но я думаю, это сработает. – EmptyStack
Это работает только на iPhone. 3.2 будет iPad, поэтому технически он не будет работать на 3.2. – WrightsCS