How to Use eSIM api

1. I am working for the carrier.


2. On July 24, I filed an eSIM Access Entitlement request through the Apple Developer Portal.


3. I didn't receive any feedback from Apple, but I found out that when I create a development provisioning profile, I can add a eSIM Development to the Entitlement.


4. After downloading and opening the profile, I could check the following information.

<key>Entitlements</key>
<dict>
<key>com.apple.CommCenter.fine-grained</key>
<array>
<string>public-cellular-plan</string>
</array>

...


5. I executed the following code but did not get the desired result as the log.

<DEVICE>

iPhone XS MAX

iOS 12.2


<code>

if #available(iOS 12.0, *) {

let provision = CTCellularPlanProvisioning()

let cellrequest = CTCellularPlanProvisioningRequest()

let isSupportEsim = provision.supportsCellularPlan()


cellrequest.address = "https://rsp..." // Address confirmed to download eSIM normally through "add cellular plan" of "iPhone settings"

// cellrequest.matchingID = ""

// cellrequest.oid = ""

// cellrequest.confirmationCode = ""

// cellrequest.iccid = ""

// cellrequest.eid = ""


provision .addPlan(with: cellrequest) { (result) in


var strResult : String = ""


if result == .success{

strResult = "success"

}else if result == .fail{

strResult = "fail"

}else{

strResult = "unknown"

}


print("isSupportEsim = \(isSupportEsim)")

print("strResult is \(strResult)")

}

}


<log>

2019-09-05 14:55:03.651979+0900 *****[588:36758] [Client] Remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated from this process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated from this process.}


isSupportEsim = false

strResult is unknown


6. First of all I got a DTS answer through TSI, but I got an answer saying "DTS does not provide support with the CoreTelephony APIs".


7. Is there a way to check if eSIM Entitlement has been granted?


8. Please help us develop Carrier app using eSIM api.

Is that’s not DTS doesn’t support Core Telephony in general, it’s that we don’t support any part of CT that requires special entitlements, and that includes the eSIM APIs. If you have questions about that, you should escalate them via your carrier contacts at Apple.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
We now have eSim with SM-DP+ and Activation Code (Matching Code) from our MVNO. Upon adding these two values manually in Settings > Cellular > Add Cellular Plans, eSim is added. How can we pass these two values to add eSim automatically directly to device without user manually entering these two values please?
Thanks
Samin
  • 918144598181

I don’t think you’ll get an answer here on DevForums. As I mentioned upthread, the best way to get eSIM support is via your carrier contacts at Apple.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
How to Use eSIM api
 
 
Q