[Ctsimsupportgetsimstatus () isequaltostring:kctsimsupportsimstatusnotinserted] can determine if the Sim card is inserted.
The premise is to copy the following code into a header file, and then introduce Coretelephony.framework.
extern nsstring* c*****t kctsmsmessagereceivednotification;
extern nsstring* c*****t kctsmsmessagereplacereceivednotification;
extern nsstring* c*****t kctsimsupportsimstatusnotinserted;
extern nsstring* c*****t 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,nsstring* number,nsstring* text);
void * Ctsmsmessagecreatereply (void* unknow,void * forwardto,nsstring* text);
void* ctsmsmessagesend (ID server,id msg);
NSString *ctsmsmessagecopyaddress (void *, void *);
NSString *ctsmsmessagecopytext (void *, void *);
iOS determines if there is a SIM card---backup on the phone