Можем ли мы различать информацию о физической Sim-карте и Esim. получено CTCarrier

#ios #objective-c

#iOS #objective-c

Вопрос:

В настоящее время я пытаюсь получить информацию о операторе. с устройства. Если я вызову —

  CTTelephonyNetworkInfo *networkinfo = [[CTTelephonyNetworkInfo alloc] init];
 NSDictionary *carriers = networkinfo.serviceSubscriberCellularProviders;
 CTCarrier *carrInfo;
 for(id key in carriers.allKeys){
 carrInfo = carriers[key];
 NSLog("%@", carrInfo);
 }
 

Это дает вывод —

 Carrier [name: Airtel, MCC: 208, MNC: 15, ISO Country Code: IN Allows VOIP: YES]
Carrier [name: Jio, MCC: 210, MNC: 20, ISO Country Code: IN Allows VOIP: YES]
 

Но какая из них является физической SIM-картой, а какая — электронной sim-картой, я не могу различить.
Также. Я читал об этом, что этот вывод может переключаться во время выполнения, а не фиксироваться.
Итак, как я смогу отличить, какая из них является электронной SIM-картой, а какая — физической sim-картой.

Ответ №1:

В настоящее время Apple не предоставляет общедоступного API или свойства, позволяющего программно различать pSIM и eSIM.

EID — это то, что однозначно идентифицирует профиль eSIM, загруженный в устройство. Опять же, Apple не позволяет читать эти настройки.