В Android мы можем определить, является ли телефон одной SIM-картой или двумя SIM-картами. И, как мы знаем, iPhone XS, iPhone XS Max, iPhone XR и более поздние версии оснащены двумя SIM-картами с nano-SIM и eSIM, за исключением материкового Китая, где нет eSIM.
A) Я могу программно вызвать MFMessageComposeViewController
нажатием кнопки, чтобы отправить SMS на определенный номер. Вот следующий код: Этот код может сказать нам, вставлена ли SIM-карта или нет. Но будет ли это работать и для eSIM?
-(void)openMessageViewWithName:(NSString*)contactName withPhone:(NSString *)phone{
CTTelephonyNetworkInfo *networkInfo=[[CTTelephonyNetworkInfo alloc]init];
CTCarrier *carrier=networkInfo.subscriberCellularProvider;
NSString *Countrycode = carrier.isoCountryCode;
if ([Countrycode length]>0) //Check If Sim Inserted
{
[self sendSMS:msg recipientList:[NSMutableArray arrayWithObject:phone]];
}
else
{
[AlertHelper showAlert:@"Message" withMessage:@"No sim card inserted"];
}
//Метод отправки сообщения:
- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSMutableArray *)recipients{
MFMessageComposeViewController *controller1 = [[MFMessageComposeViewController alloc] init] ;
controller1 = [[MFMessageComposeViewController alloc] init] ;
if([MFMessageComposeViewController canSendText])
{
controller1.body = bodyOfMessage;
controller1.recipients = recipients;
controller1.messageComposeDelegate = self;
[self presentViewController:controller1 animated:YES completion:Nil];
}
}
Б) Можно ли программно определить, является ли мой iPhone Dual SIM или Single SIM? Если да, это ДВОЙНАЯ SIM-карта, то можем ли мы выбрать SIM-карту из моего приложения для отправки SMS?
Пожалуйста, помогите мне с этим и помогите мне с обходным путем.