następujące kontrole fragmentu kodu, czy karta SIM jest obecny, czy nie, a także wtedy, gdy urządzenie jest zdolne do podejmowania wywołanie takich jak urządzenia non-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.
}
nie zapomnij dodać Ramy CoreTelephony
Credit
czy to działa w 3.0.2.0 os – MaheshBabu
@MaheshBabu: Przepraszam, człowieku .. Nie mam pojęcia ... Ale domyślam się, że działa. – EmptyStack
To działa tylko na iPhone'ie. 3.2 będzie iPadem, więc technicznie nie zadziała na 3.2. – WrightsCS