判斷 iPhone 是否插入了 SIM 卡,能夠參考蘋果官網的 systemconfigure framework 教程,將下面的代碼複製到頭文件html
#import <Foundation/Foundation.h> @interface NSObjectiveCPlusPLus : NSObject extern NSString* const kCTSMSMessageReceivedNotification; extern NSString* const kCTSMSMessageReplaceReceivedNotification; extern NSString* const kCTSIMSupportSIMStatusNotInserted; extern NSString* const kCTSIMSupportSIMStatusReady; id CTTelephonyCenterGetDefault(void); void CTTelephonyCenterAddObserver(id,id,CFNotificationCallback,NSString*,void*,int); void CTTelephonyCenterRemoveObserver(id,id,NSString*,void*); int CTSMSMessageGetUnreadCount(void); int CTSMSMessageGetRecordIdentifier(void * msg); NSString * CTSIMSupportGetSIMStatus(); NSString * CTSIMSupportCopyMobileSubscriberIdentity(); id CTSMSMessageCreate(void* unknow/*always 0*/,NSString* number,NSString* text); void * CTSMSMessageCreateReply(void* unknow/*always 0*/,void * forwardTo,NSString* text); void* CTSMSMessageSend(id server,id msg); NSString *CTSMSMessageCopyAddress(void *, void *); NSString *CTSMSMessageCopyText(void *, void *); @end
而後引入 CoreTelephony.framework ,便可利用 [CTSIMSupportGetSIMStatus() isEqualToString:kCTSIMSupportSIMStatusNotInserted] 進行判斷。app
用法:url
//判斷是否插入 if simStatus.isEqualToString(kCTSIMSupportSIMStatusNotInserted) { //未插入SIM卡 }else { //撥打電話 var urlString = "tel:" + businessDetailModel.serviceTel! UIApplication.sharedApplication().openURL(NSURL(string: urlString)!) }