Вы, вероятно, можете получить эту информацию только от приватных API-интерфейсов Apple, используя CTCellular
, но это определенно не рекомендуется, если вы не являетесь оператором и имеете разрешение на использование API-интерфейсов.
CTTelephonyNetworkInfo
предоставляет некоторую информацию о носителях, которые подписаны на устройстве пользователя, но не о том, является ли это esim / sim.
import CoreTelephony
let networkInfo = CTTelephonyNetworkInfo()
debugPrint(networkInfo.serviceSubscriberCellularProviders)
Предоставит вам это:
Carrier name: [EE]
Mobile Country Code: [<nil>]
Mobile Network Code:[<nil>]
ISO Country Code:[<nil>]
Allows VOIP? [YES]
Ознакомьтесь с документацией - https://developer.apple.com/documentation/coretelephony