sergey_s
sergey_s

Reputation: 143

eSim support check

I just need to detect if the device supports esim devices. I will not add new data for eSIM through the application (only by qr code). is there some way to check this without generating a certificate to support esim? It's too long to wait and I don't need all its functionality. I want to check with my device or not.

What I have tried:

CTCellularPlanProvisioning().supportsCellularPlan() —— always returns false (as I understand it, this is just because of the Provisioning certificate)

I also tried to get the current CTTelephonyNetworkInfo().serviceCurrentRadioAccessTechnology operators, but this also fails to quickly get data about the type of eSim card.

Is there a method / api from Apple (or any other way) how to determine if a eSim device?

Upvotes: 0

Views: 1807

Answers (1)

Rob Napier
Rob Napier

Reputation: 299565

I expect there is no way to do this directly. The property (supportsEmbeddedSIM) is on CTCellularPlanProvisioning, which requires an entitlement. You can't just call CTCellularPlanProvisioning(). You need to create a CTCellularPlanProvisioningRequest, but that's not a general purpose tool:

This class is only available to carrier apps with suitable entitlements.

You'd need to check the device model. eSIM has been supported on all iPhones since the iPhone XS. (See comments; @sergey_s notes that there are exceptions.)

Upvotes: 1

Related Questions