В Android мы можем определить, является ли телефон одной или двумя 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];
}
}
B) Можно ли определить, является ли мой iPhone Dual SIM или Single Сим программно? Если да, то это ДВОЙНАЯ SIM-карта, можем ли мы выбрать SIM-карту в моем приложении для отправки SMS?
Пожалуйста, помогите мне с этим и помогите мне найти обходной путь.